关于同一台服务器上两个PHP项目相互访问超时的问题
-
当一台服务器部署多个PHP项目,各自运行时并无干扰, 即使都使用 9000端口来跑php
-
但是有一种情况,当其中一个项目需要调用另一个php项目的接口时,便会超时,这是因为php是单线程的同步的
-
也许设置超时时间为0,不等待接口返回是一个方法,但更多时候我们需要等待返回结果
-
这时,我们便需要给其中一个项目另开一个端口来运行php
以本地服务器为例,windows
-
将其中一个项目的php指向9001端口,默认是9000
···
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;
include pan_params.conf;
}
··· -
重启phpStudy或其他集成环境
-
cmd命令行运行以下命令,再开启一个PHP进程, 相关路径改成你自己的路径即可。
php-cgi.exe -b 127.0.0.1:9001 -c D:\phpStudy\PHPTutorial\php\php-7.1.13-nts\php.ini
知止而后有定,定而后能静,静而后能安,安而后能虑,虑而后能得。
所谓诚其意者,毋自欺也。