php - Nginx 和 PHP-cgi - 无法 file_get_contents 服务器上的任何网站

标签 php curl nginx file-get-contents

我认为这个最好用代码来解释。从网络目录:

vi get.php

将此 php 添加到 get.php

<?
echo file_get_contents("http://IPOFTHESERVER/");
?>

IPOFTHESERVER 是运行 nginx 和 PHP 的服务器的 IP。

php get.php

返回该 IP 托管的(默认)网站的内容。但是

http://IPOFTHESERVER/get.php

..返回504网关超时。 curl 也是如此。使用 PHP exec 命令和 GET 是一样的。但是,直接从命令行一切正常。

我已将其复制到 2 个 nginx 服务器上。由于某种原因,nginx 不允许我通过 PHP 与其运行的服务器建立 HTTP 连接(除非是通过命令行)。

有人知道为什么吗?

谢谢!

最佳答案

检查您是否在 PHP 方面遇到工作人员耗尽问题,这是我的实验室服务器设置的问题,该服务器配置为节省 RAM。

基本上我忘记了您使用单个工作人员来处理显示给最终用户的主页,然后 get_file_contents() 函数基本上会向同一 Web 服务器生成单独的 HTTP 请求,实际上需要 2 个工作人员来处理单页加载。

由于首页正在使用最后一个工作程序,因此没有可用的 get_file_contents 函数,因此 Nginx 最终在首页上回复了 504,因为反向代理请求没有回复。

关于php - Nginx 和 PHP-cgi - 无法 file_get_contents 服务器上的任何网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7230719/

相关文章:

nginx - 还原当前站点可用文件

logging - 禁止Nginx访问被拒绝的错误日志

php - Laravel 架构构建器,更新可为空的时间戳字段

iPhone 向左 curl 和向右 curl 过渡

nginx - 您将如何使用 Hashicorp 的 Nomad 'template stanza' 通过 Nomad 作业文件生成 nginx 配置文件?

python - 使用 pycurl 将输出保存到文件?

php - Paypal IPN 验证拒绝访问

php - 获取多个帖子ID wordpress

php - 命令不同步;你现在不能运行这个命令

php - 在 PHP 中从 URL 获取用户名