Ubuntu 16.04.1,Apache2 服务器。
简单的 PHP 脚本: index.php
<?php
echo "A";
$ch = curl_init();
echo "B";
输出应该是:AB
,从终端运行良好。
然而,当我index.php
从浏览器打开时,输出是:A
显然,发生了错误......但是脚本在到达时就停止了curl_init()
。
try-catch
块没有捕获错误。- 这
curl_error($ch)
没有帮助,因为那条线从未到达。
为了消除权限原因,我还尝试使用用户从终端运行脚本www-data
,运行正常。
从 Apache2 开始error.log
:
PHP Fatal error: Uncaught Error: Call to undefined function curl_init()
in /var/www/html/index.php:4\nStack trace:\n#0 {main}\n thrown in
/var/www/html/index.php on line 4
我能做些什么?
答案1
您需要php-curl
根据您的 PHP 版本安装软件包。如果这是 Ubuntu 16.04 的默认版本 - php7.0
:
sudo apt update
sudo apt install php7.0-curl
sudo phpenmod curl
sudo systemctl restart apache2.service