PHP 警告:PHP 启动:无法加载动态库 php_curl.dll 不可能找到

问题描述 投票:0回答:7

我有带有 WAMP 服务器的 Windows 10(Apache 2.4.9、PHP 5.5.29 VC11 x64、e MySQL)。一切正常,但现在我将使用curl扩展。

我进入

C:\wamp\bin\php\php5.5.29\phpForApache.ini
(从网络服务器配置)并删除
extension=php_curl.dll

中的注释

重新加载 apache 服务器并在

error_log
我有

[2015 年 9 月 22 日 13:13:30 UTC] PHP 警告: PHP 启动:无法加载动态库 'c:/wamp/bin/php/php5.5.29/ext/php_curl.dll' - Impossibile trovare il modulo Specificato.in 在线未知 0

DLL 位于正确的文件夹中,其他 DLL 工作正常。

1°尝试:我在系统变量PATH中添加:

C:/wamp/bin/php/php5.5.29/ext/;c:/wamp/bin/php/php5.5.29/

2°尝试:我已经重新下载了文件

php-5.5.29-Win32-VC11-x64.zip
并替换了
php_curl.dll

但我总是得到相同的结果:

index.php

致命错误:调用未定义的函数curl_exec()

phperror_log:

[2015 年 9 月 22 日 13:13:30 UTC] PHP 警告: PHP 启动:无法加载动态库 'c:/wamp/bin/php/php5.5.29/ext/php_curl.dll' - Impossibile trovare il modulo Specificato.in 在线未知 0

php curl dll php-curl
7个回答
20
投票

这些步骤对我有用:

  1. 将主 php 文件夹添加到 Windows 中的 Path Env 变量中(因此 libeay32.dll 和 ssleay32.dll 是路径可访问的......有些人 将它们复制到 Windows/System32 以使它们可通过路径访问,但是 这并不是解决问题的真正优雅的方式)
  2. 将 Apache bin 文件夹添加到 Windows 中的 Path Env 变量中

  3. 将php文件夹中的libssh2.dll文件复制到apache的bin中 文件夹(Apache 似乎需要这个才能使 php 的curl 在 Windows 中工作)


14
投票

PHP 启动:无法加载动态库“curl”... 取消注释 php.ini 文件中的 2 行即可解决此问题

  1. 打开 php.ini
  2. 删除分号以取消注释
    ;extension_dir = "ext"
    例如,如果您的 php 位于 C 文件夹“php”下,则您的extension_dir =“ext”应放置为extension_dir =“C:\ php xt”
  3. 删除分号以取消注释
    ;extension=curl
  4. 保存 php.ini

6
投票

什么对我有用:

  1. 我将 libssh2.dll、libcrypto-1_1-x64.dll、libssl-1_1-x64.dll、ssleay32.dll、libeay32.dll 复制到 Apache bin 文件夹。可能并不需要所有这些。

  2. 在 php.ini 中,确保扩展curl已加载。这对于 php 7 中的 php

    extension=php_curl.dll
    来说是 < 7 and
    extension=curl

  3. 重启Apache服务


2
投票

确保在

php.ini
中,
extension_dir = 
指向正确的路径(如果未注释)。


1
投票

另一种可能性是 apache 和 php 版本之间不兼容,至少如果您使用的是 wampserver 和/或缺少 VC++ 可执行文件。我使用的是 php 7.4.11 和 apache 2.4.27。升级到 apache 2.4.46d 并安装缺少的可执行文件解决了该问题。该版本的 apaache 还需要将 wampserver 更新到 3.2.5。确保所有 Windows VC++ 可执行文件均已安装。有一个小工具可以检查这一点。更新和工具可在 https://wampserver.aviatechno.net/

找到

@参见http://forum.wampserver.com/read.php?2,151396

我执行了 wampserver/apache 更新并一次性安装了一些丢失的 VC++ 文件,所以我无法确定哪一个真正解决了加载curl 的问题。


0
投票

添加到 Apache httpd.conf:

LoadFile "C:/Php56/libssh2.dll"
LoadFile "C:/Php56/libeay32.dll"
LoadFile "C:/Php56/ssleay32.dll"

-1
投票

我在 Windows 上使用 wamp 时遇到了同样的错误 当我使用 php 删除另一个应用程序(并产生冲突)并重新安装 wamp 时,问题解决了

© www.soinside.com 2019 - 2024. All rights reserved.