关于此错误消息的建议多种多样,似乎没有人提供全面的答案(请参阅some blog, a duplicitous answer 和here 和here on SO)。希望这是一个更正式的问题。
我认为只有Apache提供的PHP上的WordPress(我现在不能评论NginX,因为我还没有用PHP尝试过,也不能评论其他框架)。答案可能会显示出对Windows 10的轻微偏见,即使用自建的Apache 2.4.37、提取的线程安全PHP 7.2和WordPress 4.2。十、
背景
PHP and cURL 很好地解释了WordPress所依赖的
Requests
, 包裹在
cURL
和
fSockets
图书馆。
Requests
首选
cURL
库(如果可用),但可能会退回到
fSockets
库下载插件/主题等。“无传输”错误表明Apache或PHP中都没有正确配置库。也有可能是防火墙干扰了这一过程。
检查测试Apache和PHP的配置设置和加载标准PHPinfo 从浏览器编写脚本。这应该有一个单独的部分,标题为cURL
其条目显示各种信息。否则,请设置并加载以下脚本进行检查。
<?php
echo \'Curl: \', function_exists(\'curl_init\') ? \'Enabled\' : \'Disabled\';
?>
我不知道如何测试
fScokets
.
卷曲以确保cURL
似乎有必要在php.ini
.
确保extentions_dir
正确指向扩展文件夹
extentions_dir="ext"
(或者
extentions_dir="D:PATH/TO/php/ext"
通常建议)
确保cURL
已启用扩展
extension=curl
(extentions=php_curl(.so|.dll)
或extentions="PATH/TO/php_curl(.so|.dll)"
也建议使用,可能用于PHP<;7.2)
来自PHP 看来eay32
, ssh2
和ssleay32
库也必须在一个路径上可用(使用OpenSSL 1.1eay32
已重命名crypto-*
和ssleay32
已重命名ssl-*
). 在windows上,丑陋的黑客行为是将这些库从PHP根文件夹复制到system32
或wow64
文件夹更好的解决方案是修改one的path变量以包含PHP根文件夹(我个人更喜欢根据需要配置一个干净的路径,但这是PHP)。在*nix box上,似乎只需安装php5-curl
一个发行版的软件包。
Note : 关于PHP 页面建议只需添加LoadFile "PATH/TO/lib(eay32|ssh2)|ssleay32.dll"
一的条目httpd.conf
但是cURL
似乎在一条路上寻找这些图书馆;讨论这个建议。XAmpp/Wamp的人没有采取这一步骤,因为他们似乎将自己的根放在了自己的系统路径上。
完成后,重新启动Apache。如果您使用的是Apache monitor,实际上应该先停止,然后再启动Apache;这将为服务设置一个新的运行环境(节省重新启动)。
fSockets我不知道这项工作需要什么。