我使用的是一个网站托管网站,该网站目前已阻止了80端口的所有传出流量,因此fopen既不工作也不卷曲但是wordpress能够自行更新... 怎么可能???? 我需要从互联网上获取文件,也可以复制wordpress使用的功能并使用php获取文件..
plz help ..
答案 0 :(得分:0)
我查看了WordPress更新代码并将其跟踪到发生实际文件下载的WP_Http class(file source)。如果首选函数不可用,此类将使用许多内置方法之一来获取文件:
GET / HEAD请求的顺序是HTTP Extension,cURL,Streams,Fopen,最后是Fsockopen。
一种情况是您的主机实际上并未阻止端口80上的流量,而是通过不包括cURL扩展并将allow_url_fopen
设置为false来防止常见的代码注入漏洞,从而使文件下载变得困难。在这种情况下,WordPress可能会成功使用其他方法之一来检索数据。在此方案中,您通过PHP脚本下载文件的选项(按优先顺序):
fopen
或cURL。wp-includes/class-http.php
并在脚本中使用它来克服这些限制。另一种情况是您的主机 阻止了端口80上的流量,但是已经列入白名单的wordpress.org以允许WordPress自行更新。在这种情况下,除非您可以在另一个端口上配置某种代理解决方案,否则您运气不佳。