Nginx和PHP-cgi-无法在服务器上获取任何网站的file_get_contents
作者:互联网
我认为最好用代码来解释这一点.从Web目录:
vi get.php
将此php添加到get.php
<?
echo file_get_contents("http://IPOFTHESERVER/");
?>
IPOFTHESERVER是运行nginx和PHP的服务器的IP.
php get.php
返回该IP托管的(默认)网站的内容.但
..返回504网关超时.卷曲也是一样.使用PHP exec命令和GET相同.但是,直接从命令行运行就可以了.
我已经在2个Nginx服务器上复制了它.由于某些原因,nginx不允许我通过PHP与运行该服务器的服务器建立HTTP连接(除非通过命令行).
有人知道为什么吗?
谢谢!
解决方法:
检查您在PHP方面没有遇到工作耗尽,这是我的实验室服务器设置中的问题,该服务器配置为节省RAM.
基本上,我忘了您使用单个工作程序来处理主页显示给最终用户,然后get_file_contents()函数基本上会向同一Web服务器生成单独的HTTP请求,实际上需要2个工作程序才能加载单个页面.
由于第一页使用的是最后一个工作程序,因此无法使用get_file_contents函数,因此Nginx最终在第一页上回复了504,因为没有对反向代理请求的答复.
标签:file-get-contents,php,nginx,curl 来源: https://codeday.me/bug/20191012/1897987.html