Heim >Backend-Entwicklung >PHP-Tutorial >php fastcgi有关问题,死锁,超时

php fastcgi有关问题,死锁,超时

WBOY
WBOYOriginal
2016-06-13 11:11:081274Durchsuche

php fastcgi问题,死锁,超时
我的服务器环境是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


------解决方案--------------------
nginx,php-cgi模式,为啥不用linux而要在windows下蛋疼呢……
------解决方案--------------------
就算是本地可以用虚拟机啊
------解决方案--------------------
$img_save_url = file_get_contents($open_url);
需要 allow_url_fopen = On
不知你设置了没有
------解决方案--------------------
默认 llow_url_fopen = Off

你总不至于
test.php
$open_url = 'http://127.0.0.1:82/test.php';
吧?
------解决方案--------------------
test.html能直接运行php语句么

求扫盲
------解决方案--------------------
贴出你的nginx.ini配置文件 还有你的命令里面运行fastcgi命令
------解决方案--------------------
引用:
引用:test.html能直接运行php语句么

求扫盲
你看懂没有?
我的意思是
$open_url = 'http://127.0.0.1:82/test.html';
$img_save_url = file_get_contents($open_url);
$img_save_url是能获取返回值的,说明是能调到网站……




不好意思

理解错误

你可以在命令下启动service nginx start

或者查看nginx错误日志

一般这种明显的错误都应该可以看得到
------解决方案--------------------
引用:
问题解决了,采用两个php-cgi.exe进程,一个端口是9000,一个端口是9001,就不会出现死锁问题了。两个子网站分别使用不同的处理:
fastcgi_pass   127.0.0.1:9000;
fastcgi_pass   127.0.0.1:9001;
问题原因应该是进程内死锁导致的。
那你运行的需要在nginx.conf文件配置多个项目吗?
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn