2011-01-08 32 views
0

我使用一个虚拟主机的网站,目前已经阻止所有传出的流量在端口80,所以既没有工作也没有卷曲,但WordPress的能够更新自己... 怎么可能? 我需要获取来自Internet的文件,以及它可以是可能的,我复制由WordPress的使用功能和使用PHP获取文件..使用WordPress的WordPress的功能下载文件到服务器

PLZ帮助..

+1

你需要使用代理服务器吗?也许在WordPress配置中有一些东西。 cURL可以配置为使用相同的... – Rob 2011-01-08 14:30:03

+0

我不介意使用代理。而wordpress没有配置为通过代理运行.. – voldyman 2011-01-08 14:38:41

回答

0

我已经看过了WordPress更新代码并将其追溯到发生实际文件下载的WP_Http classfile source)。本课程将使用许多内置的方法之一,用于提取文件,如果偏好的功能不可用:

为GET/HEAD请求的顺序是HTTP扩展,卷曲,流,F打开,最后的fsockopen 。

一种情况是,您的主机实际上不阻止端口80上的流量,而是使文件由不包括卷曲的延伸和设置allow_url_fopen为false,以防止常见的代码注入漏洞下载困难。在这种情况下,WordPress有可能通过使用其他方法之一来检索数据。您的通过PHP脚本在这种情况下下载文件的选项是(按优先顺序排列):

  1. 看看你的主机支持HTTP Extension并用它来代替fopen或卷曲。
  2. 包含并使用wp-includes/class-http.php并在您的脚本中利用它来解决这些限制。
  3. 编写/使用另一个通过Streams或Fsockopen提供文件下载的库。

另一种情况是,您的主机在端口80交通闭塞,但白名单wordpress.org,让WordPress的自我更新。在这种情况下,除非您可以在另一个端口上配置某种代理解决方案,否则您运气不佳。