我无论如何都无法让cURL在Apache中正常工作。这实际上相当奇怪,因为:
- 我可以从CLI执行我的PHP页面,并且可以完美地POST我的请求
- 当我查看我的错误日志时,我会得到“PHP致命错误:未定义函数curl_init()”,就好像根本没有安装扩展一样。同样,一个快速的`phpinfo()`也会产生类似的结果,就好像扩展没有被安装。
此外,在构建PHP时,我选择了“--enable-curl”标志。
我无论如何都无法让cURL在Apache中正常工作。这实际上相当奇怪,因为:
此外,在构建PHP时,我选择了“--enable-curl”标志。
您可能没有在适当的php.ini
文件中加载扩展。该文件应包含以下内容:
[PHP_CURL]
extension=php_curl.dll
--enable-curl
不是 PHP 配置选项。你需要使用 --with-curl=[DIR]
这个选项。请参考 cURL 安装说明。php_curl.dll
应该在 PHP 的 ext
目录中。我安装php5-curl后遇到了同样的问题。我重启了apache,问题得以解决。
对于Ubuntu 12.04,请使用sudo /etc/init.d/apache2 restart命令。
我曾经遇到过类似的问题——在命令行中可以正常工作,但在 Apache 2.4 中却默默失败了。
我尝试了以下方法:
1)将 php 文件夹中的 ssleay32.dll 和 libeay32.dll 复制到 apache\bin 文件夹中——没有起作用
2)完全删除 apache\bin 文件夹中的 ssleay32.dll 和 libeay32.dll——这个方法可行。
每次更改后,您都应该重新启动 Apache 服务器以使其生效。
此外,您还应该从 Microsoft 安装 C++ Resistributable Visual Studio 的 x86 和 x64 版本。