您好,欢迎访问一九零五行业门户网

yii2 - 如何配置NGINX+多个版本PHP么?

去年服务器和php弄得不好,公司里面最近的php程序员都离职了,我来挑大梁。
我基于yii 2,svn,rsync配置了一套持续集成环境,弄之前就知道yii要php5.4以上,但弄完后才发现公司的老代码100%是php5.3,不可能全套迁移过了。
原本打算有9台服务器上php 5.6,今天再一想,为什么原来的8台服务器还要php 5.3呢?我不如每台服务器都nginx+两套php环境,这样的话,新老代码都可以使用了。
有谁搞过的么?
我找到一个参考的。http://jingyan.baidu.com/article/a948d6517c63e60a2dcd2e39.html
请指正,谢谢。
回复内容: 去年服务器和php弄得不好,公司里面最近的php程序员都离职了,我来挑大梁。
我基于yii 2,svn,rsync配置了一套持续集成环境,弄之前就知道yii要php5.4以上,但弄完后才发现公司的老代码100%是php5.3,不可能全套迁移过了。
原本打算有9台服务器上php 5.6,今天再一想,为什么原来的8台服务器还要php 5.3呢?我不如每台服务器都nginx+两套php环境,这样的话,新老代码都可以使用了。
有谁搞过的么?
我找到一个参考的。http://jingyan.baidu.com/article/a948d6517c63e60a2dcd2e39.html
请指正,谢谢。
开启多个php-fpm,phpfpm的版本可以不同,绑定不同的sock或者port。
nginx按照条件将php请求转发到不同的sock或者port。
可以的.让不同版本的php-fpm运行在不同端口,然后ngxin按照路径反带到不同的upstream就好.
发一个我的配置文件,感觉稍微修改一下,应该可以满足到楼主
cmd启动php和nginx的脚本,增加多几个版本的php-cgi,端口不一样
@echo offset php_fcgi_max_requests=1000echo starting php-cgirunhiddenconsole php\php-cgi.exe -b 127.0.0.1:9000 -c config\php_5.5.ini -iecho starting nginxcd nginxstart nginxexit
然后在nginx的配置文件里面,指定不同的应用给不同端口的php-cgi
location ~ ^/phppgadmin/(.*\.php)$ { alias d:/work/www/tools/phppgadmin/$1; fastcgi_param script_filename $document_root$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; }
采纳了一个答案,但还是自己搞了,因为我用的是lnmp,然后改的unix_sock
今天测试的时候遇到一个新的问题。
我同一台物理服务器上面有nginx+php 5.6.6和php5.3.28,通过unix_sock来分开
两个php都能跑,但php5.3.28在跑某一个页面(jquery mobile+php)的时候,页面只加载了一半,看log都正常。换一台服务器,只有一个php5.3,可以正常运行出来。
奇怪,检查php和jqeury代码完全一样。
把正常运行的ini文件复制过来,重启几遍nginx和php,还是只出来一半。
有谁遇到过么?
遇到过相同问题
同求答案啊
其它类似信息

推荐信息