从浏览器访问 php 脚本时 curl_init() 不起作用

从浏览器访问 php 脚本时 curl_init() 不起作用

Ubuntu 16.04.1,Apache2 服务器。

简单的 PHP 脚本: index.php

<?php
    echo "A";
    $ch = curl_init();
    echo "B";

输出应该是:AB,从终端运行良好。

然而,当我index.php从浏览器打开时,输出是:A

显然,发生了错误......但是脚本在到达时就停止了curl_init()

  1. try-catch块没有捕获错误。
  2. 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

相关内容