libeay32.dll
并且必须具有路径可访问性才能成功加载。ssleay32.dll
php_curl.dll
但是将它们复制到Apache的,Apache的,Window的,或者更糟糕的是Windows主目录是一个糟糕的黑客,甚至可能不适用于较新的PHP版本。ServerRoot
\bin\
\System32\
正确的方法是将PHP路径添加到Windows变量中。Path
- 在单击“高级系统设置”或按+并键入
Control Panel -> System
WINRSystemPropertiesAdvanced
- 单击按钮 环境变量。
- 在“系统变量”下,您将找到该变量。编辑它并附加到它之前 - 或者你的PHP文件夹的路径是什么。
(提示:如果您的PHP文件夹包含空格,则可能需要在此处使用短文件名形式,即.Path
C:\PHP;
C:\Program Files\PHP
C:\Progra~1\PHP
- 然后完全停止Apache并重新启动它(简单的重新启动可能还不够)。
2017-05年更新:
我更改了上述说明,在Path变量前面附加PHP路径,而不是附加到它上面。这可确保使用 PHP 路径中的 DLL,而不是使用系统的其他路径中的任何其他(过时)版本。
2018-04更新:
如果您已经选择了错误的方式并将任何PHP DLL复制到Apache或Windows路径,那么我强烈建议您再次删除它们!如果不这样做,以后尝试更新 PHP 时可能会遇到麻烦。如果新的 PHP 版本带来了这些 DLL 的新版本,但您的旧 DLL 仍然在系统或 Web 服务器路径中徘徊,则可能会首先找到这些旧 DLL。这肯定会阻止PHP解释器启动。此类错误可能很难理解和解决。因此,如果您将任何提到的 DLL 复制到Windows和Apache路径中,那么现在最好清理并从中删除它们。
(感谢@EdmundTam和@WasimA在评论中指出这个问题!
2019-10 版更新:
提示:要查找这些 DLL 的所有副本并检查是否可能将它们放在错误的文件夹中,可以在 Windows 命令提示符窗口中使用以下命令:
dir c:\libeay32.dll /s
dir c:\ssleay32.dll /s
请注意,这些命令可能需要一些时间才能完成,因为它们会搜索系统驱动器 C: 的整个目录结构。
更新2020-08:
如果您的PHP文件夹包含空格(即),您可能需要在步骤3的变量中使用短文件名形式(即)。感谢@onee的这个提示!C:\Program Files\PHP
Path
C:\Progra~1\PHP