关于此错误消息的建议多种多样,似乎没有人提供全面的答案(请参阅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我不知道这项工作需要什么。