安装失败:下载失败。找不到工作交通工具


10

'安装失败:下载失败。找不到工作的交通工具。

当我尝试在WordPress中安装主题时出现此错误消息。我该如何解决这个问题?


安装插件时是否有相同的错误?
毫米

Answers:


13

WordPress网站的大部分工作都没有问题,但该网站的仪表板部分存在更新或安装问题。当我尝试安装主题时,出现错误“安装失败:下载失败。找不到有效的传输”。

幸运的是,我通过以下解决方案解决了该问题。

事实证明,当开发服务器上缺少扩展名时,会出现此错误消息,因此WordPress无法发出外部HTTP请求。

解决方案非常简单。Wamp Server已安装了使那些HTTP请求成为可能的缺少扩展,默认情况下,它们只是被禁用。要启用它们,我们需要编辑php.ini配置文件。

编辑php.ini文件

php.ini文件包含许多扩展的列表,其中某些扩展默认情况下处于禁用状态。我唯一需要启用的是openssl扩展。

以下是启用该扩展程序的步骤:

  1. 启动Wamp Server。
  2. 单击Wamp Server图标,然后转到PHP-> php.ini选项。
  3. 双击php.ini。因此,它将在您的默认文本编辑器中打开php.ini文件。
  4. 在php.ini文件中搜索php_openssl.dll。->您将看到扩展名已被注释掉:; extension = php_openssl.dll
  5. 通过删除半冒号(;)取消注释该行
  6. 保存更改。
  7. 重新启动Wamp Server。

就是我们完成了!!!


3

WordPress HTTP API的构建方式使其可以在许多服务器上运行,并尝试了不同的方式(传输方式)。

根据错误消息,没有可用的传输,因此WordPress无法发出任何传出的HTTP请求。

我建议您安装类似Core Control WordPress插件的插件,该插件可让您调试所有现有的HTTP传输。在一种传输方式不起作用的情况下,很有可能另一种传输方式也可以。此插件可让您禁用已损坏的插件,并使用新的传输工具测试HTTP API。

如果事实证明确实没有任何一种传输方式有效,则应与主机提供商联系,至少在服务器上安装cURL之类的东西,以便可以在PHP中发出HTTP请求。


0

关于此错误消息的建议是多种多样的,并且似乎没有人提供全面的答案(请参阅一些博客一个重复的答案,以及此处的此处此处)。希望这是对这个问题的更正式的看法。

我认为只有WordPress可以通过Apache在PHP上使用WordPress(由于我还没有在PHP上尝试过,因此我目前无法对NginX进行评论,也无法对其他框架进行评论)。答案可能是对Windows 10的偏见,其中包括自建的Apache 2.4.37,提取的线程安全PHP 7.2和WordPress4.2.X。

背景

PHP和cURL可能很好地说明了这一点,那就是WordPress依赖于RequestscURL并围绕和fSockets库进行包装。Requests倾向于使用该cURL库(如果有的话),但是应该会退回到该fSockets库以下载Plugins / Themes / etc。“无传输”错误表示没有在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似乎eay32ssh2ssleay32库也必须是可利用的那些路径(与OpenSSL的1.1 eay32改名crypto-*ssleay32更名ssl-*)。在Windows上,一个丑陋的技巧是将这些库从PHP根文件夹复制到system32wow64文件夹中。更好的解决方案是修改一个路径变量以包含PHP根文件夹(我个人更喜欢根据需要配置的干净路径,但这是PHP)。在* nix盒上,似乎只需要安装php5-curl发行版的软件包即可。

    注意:PHP页面上的注释表明,可能只是在LoadFile "PATH/TO/lib(eay32|ssh2)|ssleay32.dll"条目中添加条目,httpd.confcURL似乎会在它们的路径上搜索这些库。提出建议。XAmpp / Wamp人们逃避了这一步骤,因为他们似乎将自己的根目录转储到了系统路径上。

完成后,重新启动Apache。如果您使用的是Apache监视器,则应该先停止然后再启动Apache。这为服务运行设置了一个新环境(为您节省了重启时间)。

插座

我不知道要进行此操作有什么必要。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.