libeay32.dll
and ssleay32.dll
必须是路径可访问的php_curl.dll
加载成功。
但是将它们复制到 Apache 的ServerRoot
, 阿帕奇的\bin\
, 视窗\System32\
,或者更糟糕的是进入 Windows 主目录是一个糟糕的黑客行为,甚至可能无法与较新的 PHP 版本一起使用。
正确的方法是将 PHP 路径添加到 WindowsPath
多变的。
- In
Control Panel -> System
click on Advanced System Settings or press WIN+R and type SystemPropertiesAdvanced
- 单击按钮环境变量.
- Under 系统变量你会发现
Path
多变的。编辑它并添加到前面C:\PHP;
到它 - 或者任何 PHP 文件夹的路径。
(提示:如果您的 PHP 文件夹包含空格,例如C:\Program Files\PHP
您可能需要在此处使用短文件名形式,即C:\Progra~1\PHP
.)
- 然后完全停止 Apache 并再次启动它(简单的重新启动可能还不够)。
2017 年 5 月更新:
我将上面的说明更改为prependPath 变量用 PHP 路径代替追加到它。这可确保使用 PHP 路径中的 DLL,而不是系统其他路径中的任何其他(过时)版本。
2018 年 4 月更新:
如果你有already选择了错误的方式并将任何 PHP DLL 复制到 Apache 或 Windows 路径,那么我强烈建议您再次删除它们!如果不这样做,当您稍后尝试更新 PHP 时可能会遇到麻烦。如果新的 PHP 版本带来了这些 DLL 的新版本,但旧的 DLL 仍然存在于系统或 Web 服务器路径中,则可能会首先找到这些旧的 DLL。这肯定会阻止 PHP 解释器启动。此类错误可能很难理解和解决。所以最好清理一下now并从 Windows 和 Apache 路径中删除任何提到的 DLL(如果您将它们复制到那里)。
(感谢@EdmundTam 和@WasimA。在评论中指出了这个问题!)
2019 年 10 月更新:
提示:要查找这些 DLL 的所有副本并检查是否将它们放置在错误的文件夹中,可以在 Windows 命令提示符窗口中使用以下命令:
dir c:\libeay32.dll /s
dir c:\ssleay32.dll /s
请注意,这些命令可能需要一些时间才能完成,因为它们会搜索系统驱动器 C: 的整个目录结构。
2020 年 8 月更新:
如果您的 PHP 文件夹包含空格(即C:\Program Files\PHP
)您可能需要在中使用短文件名形式Path
步骤 3 中的变量(即C:\Progra~1\PHP
)。感谢@onee 提供此提示!