我的服务器环境是nginx,采用fast-cgi方式来解析php。
$open_url = 'http://127.0.0.1:82/test.php';
$img_save_url = file_get_contents($open_url);
如果是test.html是可以正常得到值的,本机的aspx页面也可以获取结果。但php则报 504 gateway timeout错误
请问 这个问题是什么原因导致的?是不是cgi死锁了?
启动采用的方式是:RunHiddenConsole.exe c:\php\php-cgi.exe -b 127.0.0.1:9000 -c c:\php\php.ini
$open_url = 'http://127.0.0.1:82/test.php';
$img_save_url = file_get_contents($open_url);
如果是test.html是可以正常得到值的,本机的aspx页面也可以获取结果。但php则报 504 gateway timeout错误
请问 这个问题是什么原因导致的?是不是cgi死锁了?
启动采用的方式是:RunHiddenConsole.exe c:\php\php-cgi.exe -b 127.0.0.1:9000 -c c:\php\php.ini
解决方案 »
- 一句代码不太明白
- 一个奇怪的问题
- php指定在某个循环中插入
- HTTP 错误 401.1 - 未经授权:访问由于凭据无效被拒绝。解决后追加,顶者有份~
- 在线和 网站工作人员交流的 及时通讯程序怎么做?
- 急急!!关于mssql和mysql数据转换的问题,请大师帮助!!!!
- PHP中有类似于asp中的Server.Htmlencode的内置函数吗?
- 关于定位,及循环,希望大家都看看,帮帮忙
- 当我点击下拉菜单的某个项目的时候(这个菜单是动态的),怎么让她显示这个项目的所有东西?
- 我不好解决的问题,求救!
- PHP正则怎么解析log文件
- 多站点 伪静态冲突 http.ini,急,在线等!!! [问题点数:200分]
需要 allow_url_fopen = On
不知你设置了没有
我认为是php-cgi.exe的问题,当解析A页面时,同时又要解析B页面,在同一进程内锁住了。
test.php$open_url = 'http://127.0.0.1:82/test.php';吧?
我的意思是
$open_url = 'http://127.0.0.1:82/test.html';
$img_save_url = file_get_contents($open_url);
$img_save_url是能获取返回值的,说明是能调到网站的,不是网络问题,而是php-cgi.exe内部那里出了问题。
单独在页面上调用test.php是能正确执行的,而且本地的aspx也是能调到返回值的,唯独就是php不能。
我前面还发现了在请求出现timeout的瞬间,test.php的代码正确执行(保存了一张图片),而且每次都是这样。很头疼啊
fastcgi_pass 127.0.0.1:9000;
fastcgi_pass 127.0.0.1:9001;
问题原因应该是进程内死锁导致的。
不好意思理解错误你可以在命令下启动service nginx start或者查看nginx错误日志一般这种明显的错误都应该可以看得到