之前的項目在apache下進行本地curl操作的時候請求不會超時
后來要在nginx下開發的時候,我在項目中寫一個curl操作的test.php文件,請求相同項目下的一個index.php文件,然后curl請求超時,就是一直在轉圈圈,沒有返回
然后查了一些網上的資料,http://aarons.blog.51cto.com/2383032/1583871
里面提到,在nginx中,請求都是keep-alive的,就是我執行一個curl操作的test.php文件,這個時候php-cgi開始處理test.php,然而這個test.php還沒處理完,當前的端口被占用,所以無法請求index.php
這個index.php要等test.php處理完之后,才有不會占用當前端口,而要處理完test.php必須先處理好index.php,所以curl一直處於等待狀態,程序卡死
里面提到一個解決辦法,就是
在命令行開啟一個cgi
e:\phpstudy\php\php-5.6.27-nts\php-cgi.exe -b 127.0.0.1:9001 -c e:\phpstudy\php\php-5.6.27-nts\php.ini(不能關閉)
然后在要進行curl請求的url的nginx配置中
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
開啟之后,不能用剛才同個項目的test.php進行curl操作,要在另一個域下創建一個新的test.php進行curl操作。

測試成功。
后續再研究有沒有更好的解決辦法....