【发布时间】:2015-01-07 13:00:54
【问题描述】:
我无法让 cURL 在我的一台服务器上运行。我有其他人完全像这样设置,他们正在工作。这是系统日志中的错误消息:
PHP Fatal error: Call to undefined function curl_init()
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\php\ext\php_curl.dll' - The specified module could not be found. in Unknown on line 0
我整天都在研究这个,但没有任何效果。这是服务器的当前状态:
- php.ini 位于 C:\php\
- php_curl.dll 位于 C:\php\ext\
- libeay32.dll 和 ssleay32.dll 位于 C:\php\
- extension=php_curl.dll 在 php.ini 中未注释
- 环境变量 PATH = %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C\php;C:\php\ext;C :\Apache24\bin
- phpinfo() 显示 C:\php\php.ini 是正在使用的配置文件
- php.ini extension_dir = "C:\php\ext"
- Apache 来自here
- PHP 来自here
- 操作系统是 Windows Server 2008 R2 数据中心
我已经重启了好几次了。其他扩展正在从扩展目录加载。我还尝试重新下载 PHP zip 文件并将 C:\php 替换为新下载的 zip 文件的内容。不久前,当我更新 PHP 和 Apache 时,我在另一台服务器上遇到了这个问题。用 zip 文件的新副本替换 C:\php 确实可以解决问题,但现在没有帮助。
我很乐意提供您可能需要的任何其他信息。
谢谢。
phpinfo() 配置命令
cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x86\instantclient_12_1\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo".
【问题讨论】:
-
phpinfo() 是否显示 curl 已启用?寻找
cURL support enabled你可能需要用 curl 支持重新编译 php ......假设你自己编译,也许发布你的 config.nice / config cmd -
phpinfo() 仅在模块作者部分下提及 curl。我没有自己编译 PHP。我从 windows.php.net/download 下载了 VC11 x86 Thread Safe 的 zip - 它在过去一直有效。 phpinfo() 在顶部有一个配置命令。我不确定这是否会有所帮助,但我已将其发布在上面。
-
嗯,一定有什么不同,我会仔细检查你收到的包裹;如果您有过去的服务器之一,请比较 phpinfo()
-
我尝试将 C:\php 从旧服务器复制到新服务器,但仍然无法正常工作。 phpinfo() 的两个顶部部分(系统、构建日期、编译器、体系结构、配置命令等)在两台服务器之间是相同的。旧的确实显示 curl 已启用。
-
@Mr.Squidward,您的问题的解决方案是什么?