我看到与PHP应用程序我建立一个非常奇怪的问题。
我有我的开发服务器(Windows 7 64位),2个虚拟主机sometestsite.com
和endpoint.sometestsite.com
。
在我的hosts
文件,我配置sometestsite.com
和endpoint.sometestsite.com
指向127.0.0.1
。
服务器与PHP 5.4.9运行Apache 2.4.2的FCGI模块时一切正常。
然后我删除Apache和Nginx的安装,1.2.5(窗口建设)。 我得到了名为php-cgi.exe作为服务运行,一切似乎很好地工作。
问题是,从卷曲呼叫sometestsite.com
到endpoint.sometestsite.com
以前工作会超时。
然后我感动的是一段代码本身来进行测试一个小型的PHP文件:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://endpoint.sometestsite.com/test');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('provider' => urlencode('provider'),
'key' => urlencode('asdf')));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//Execute and get the data back
$result = curl_exec($ch);
var_dump($result);
这是我收到的PHP日志:
PHP Fatal error: Maximum execution time of 30 seconds exceeded in D:\www\test5.php on line 22
PHP Stack trace:
PHP 1. {main}() D:\www\test5.php:0
但是,如果我运行使用CLI卷曲(通过GIT中的Bash)相同的请求,它工作正常:
$ curl -X POST 'http://endpoint.sometestsite.com/test' -d'provider=provider&key=asdf'
{"test": "OK"}
这是很奇怪的PHP是完全一样的版本,并且具有相同的配置使用的Apache时。
我不知道这是否是一个Web服务器的配置问题,或者与PHP的CURL有问题呢。
任何人都可以提供一些见解/过去的经验,为什么发生这种情况?