PHP 5.6不会运行CURL

时间:2017-11-28 15:46:50

标签: php apache ubuntu curl

我有Ubuntu 12.04和PHP 5.6.11并运行Apache / 2.4.12。我已经通过运行

安装了CURL
sudo apt-get install php5-curl 

并重新启动:sudo service apache2 restart

在命令行中输入curl -V并获取以下内容:

curl 7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp smtp smtps telnet tftp
Features: GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

当我输入which curl时,我会收到以下信息:/usr/bin/curl

所以我很确定已经安装了curl。

当我在从Web浏览器调用的php页面上使用phpinfo()时,没有阻止卷曲和任何卷曲的引用。

我的理解是curl应该基于这个question/answer正常工作而不需要任何配置更改,显然不是这样。

有人能指出我正确的方向来修改PHP配置文件或我需要运行哪些命令才能在我的版本上使用PHP运行CURL?

附加了phpinfo()

中的配置文件位置
Configuration File (php.ini) Path   /etc/php5/apache2

Loaded Configuration File   /etc/php5/apache2/php.ini

Scan this dir for additional .ini files /etc/php5/apache2/conf.d

Additional .ini files parsed    /etc/php5/apache2/conf.d/05-opcache.ini, /etc/php5/apache2/conf.d/10-pdo.ini, /etc/php5/apache2/conf.d/20-json.ini, /etc/php5/apache2/conf.d/20-mysql.ini, /etc/php5/apache2/conf.d/20-mysqli.ini, /etc/php5/apache2/conf.d/20-pdo_mysql.ini, /etc/php5/apache2/conf.d/20-readline.ini

3 个答案:

答案 0 :(得分:1)

首先,检查扩展程序已安装(带有相关示例输出):

$ sudo find / -name curl.so\*
/usr/lib64/php/7.0/modules/curl.so

然后,检查扩展程序已启用(再次使用相关输出):

$ grep -Ri curl /etc/php*
/etc/php.d/20-curl.ini:extension=curl.so

如果第一个命令没有产生任何输出,则表明该模块未安装。您需要诊断系统软件包管理器未安装软件包的原因。对于Ubuntu,您可能需要运行sudo apt-get update

如果第一个命令有效,但第二个命令没有,你需要启用扩展,然后重新启动Apache:

echo 'extension=curl.so' | sudo tee /etc/php5/apache2/conf.d/99-curl.ini

答案 1 :(得分:0)

你能试试吗? Worksheets("Report").Range("A1")

或者,

检查你的php.ini文件。 在页面中查找sudo php5enmod curl 如果有extension=php_curl符号,请在行的开头删除此符号。

答案 2 :(得分:0)

前提是您最初安装了apache& mod-php通过apt-get,正确,这应该足够了,在这种情况下,我最好的猜测是curl确实已安装,但在初始化期间出错,并且display_startup_errors已关闭。启用display_startup_errors,重新启动apache,加载php页面,并检查错误日志,那里可能有一条线说明为什么卷曲模块无法加载。