由于项目使用一些不同的扩展和框架,而对php的版本支持又不同,所以需要多版本运行项目。
由于我原来使用的就是phpstudy来搭建php环境的,nginx整合各个php免安装版本Non Thread Safe(nts)都有了。
当然你可以上http://windows.php.net/download下载最新版。
phpstudy运行的是php5.5n版本,需要运行更多一个php7的版本,phpstudy网上都是说使用apache实现,我的配置都在nginx下,不想动。
需要RunHiddenConsole,用于启动php-cgi,可以实现关闭窗口依然在后台运行。解压后放在phpstudy目录下就可以了。
http://redmine.lighttpd.net/attachments/660/RunHiddenConsole.zip
配置nginx
在要使用php7的修改nginx.conf配置文件中将请求发送到9001端口。
location ~ \.php$ {
fastcgi_index /index.php;
fastcgi_pass 127.0.0.1:9001;
include fastcgi_params;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
php7由于phpstudy都自带的,找到对应的目录就可以了。
启动脚本
在phpstudy目录下新建启动脚本start.bat
。让php7启动在9001端口。
@ECHO OFF
ECHO Starting PHP7.0 FastCGI...
RunHiddenConsole.exe E:/phpStudy/php70n/php-cgi.exe -b 127.0.0.1:9001
新建关闭脚本stop.bat。可以用以下代码关闭,也可以直接用phpstudy关闭。
@ECHO OFF
ECHO Stoping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
这里麻烦的就是一旦使用phpstudy重启的时候,必须使用start.bat命令启动下php7,当然你自己也可以写个nginx+mysql+php一起重启关闭的bat批处理命令,这样就不用使用phpstudy来操作了。