一、问题
出现以上原因是因为 windows 下 nginx+php环境,不支持并发的原因。
当同时访问多个域名,并且同时指向你本地服务的时候,就不支持并发了。
二、解决
A、vhosts.conf 里面 对需要修改的 server 修改其 fastcgi_pass 的端口号
由 fastcgi_pass 127.0.0.1:9000;
修改为 fastcgi_pass 127.0.0.1:9001;
B、启动另一个 php-cgi
打开cmd命令行运行: "你的路径/php-cgi.exe" -b 127.0.0.1:9001 -c "你的路径/php.ini"(不能关闭窗口)
上面用cmd命令行窗口是不是很麻烦,还不能关闭窗口,稍微不注意就悲剧了。
可以用下面的一个小工具:RunHiddenConsole.exe
首先你需要下载一个小文件RunHiddenConsole 然后复制到nginx目录,新建 start.bat 批处理文件
start.bat 代码(根据你的路径进行修改)
echo Starting PHP FastCGI...
"F:\Program Files\phpStudy\PHPTutorial\nginx\RunHiddenConsole" "F:\Program Files\phpStudy\PHPTutorial\php\php-7.0.12-nts\php-cgi.exe" -b 127.0.0.1:9001 -c "F:\Program Files\phpStudy\PHPTutorial\php\php-7.0.12-nts\php.ini"
保存后直接运行 start.bat ,你会发现 cmd 窗口消失了,但一切正常运行。