PHP启动:无法加载动态库PHP_curl.dll


PHP Startup: Unable to load dynamic library php_curl.dll

我在一台服务器上运行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和ssley32.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来自这里
  • PHP来自这里
  • 操作系统是Windows Server 2008 R2数据中心

我已经重新启动了好几次。其他扩展正在从扩展目录加载。我还尝试过重新下载PHP zip文件,并用新下载的zip文件的内容替换C:''PHP。不久前,当我更新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"

在PHP 7.3:中

  1. extension=php_curl
  2. libssh2.dllC:'php复制到C:'apache'bin
  3. libcrypto-*.dlllibssl-*.dllC:'php复制到C:'apache'bin(如果不存在)

在PHP 7.4中:

这是一个与Windows有关的问题,如果您使用Apache2.x+Php,技巧在于使用LoadFile强制加载CURL,如我的指南中所述。你不需要奇怪的事情或仪式就能让CURL在你的机器上工作,你只需要编辑httpd.conf并添加以下内容:

# load CURL library on Windows
LoadFile "${SRVROOT}/php/libssh2.dll"

希望这能有所帮助。

哎呀,PATH中的"C''php"缺少一个冒号。将其更改为"C:''php",现在就可以工作了。我有一种感觉,事情会变成这样。。。哦,好吧。

我们在环境中也遇到过类似的问题。

我们卸载了Apache,并使用以下命令再次安装:

c:'Apache'bin httpd -k uninstall 
c:'Apache'bin httpd -k install 

和魔法。。。。问题解决了。。。

无法加载动态库"C:''php''ext''php_curl.dll"

正确的答案应该是可行的,因为错过了c:''php的环境路径。所以只需添加

在"控制面板"->"搜索"->"高级系统设置"中,使用"环境变量"按钮。

在System Variables find Path下,添加c:''php文件夹(或任何路径),然后重新启动Apache。

在我的案例中,问题是我正在获取另一个位于路径中的curl.exe文件,该文件位于C:''Windows''System32 中的文件之前

您还需要更改curl.dll版本,您必须覆盖wamp服务器附带的版本。C:/wamp/bin/php/ext。

你可以从这个链接下载正确的版本

http://www.mediafire.com/download/3ay381k3cq59cm2/php_curl-54.3-VC9-x64.zip

我希望它对你有用!

字体:http://forum.wampserver.com/read.php?2,8571685932