PHP ini 文件未加载

PHP ini file not loading

我从 PHP 那里得到了非常奇怪的行为——当使用 Apache 或 PHP 的内置服务器通过一个简单的脚本访问网页时:

$c = curl_init();

一切都很完美。但是,当尝试从命令行使用 curl_init 时,出现错误:"Call to undefined function curl_init()"

为了纠正这个问题,我尝试使用以下命令重新安装 cURL:

sudo apt-get install php5-curl
sudo php5enmod curl

之后我重新启动了我的服务器。现在 cURL 甚至不能在 Apache 中工作。

我查看了 /etc/php5/cli/conf.d/etc/php5/apache2/conf.d,在每一个中我都找到了指向 20-curl.ini 的符号链接,内容为:

extension=curl.so

接下来我检查了 php --ini 并得到了以下输出:

Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File:         (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

我尝试了 find /usr/local/lib -name "php.ini" 但一无所获。此文件夹中 没有 php.ini... 那为什么要找这里?我怎么告诉它看别的地方?还有为什么以前能用,现在坏了?为什么 apt-get 和 php5enmod 将 php.ini 放在 /etc/php5 而不是 /usr/local/lib 中?

我很困惑:)

因此,如果其他人遇到类似问题,请尝试:

find / -name "php"

查看您是否安装了两个版本的 PHP :)

删除了额外的版本,事情开始正常了