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

WBOY
풀어 주다: 2016-06-06 20:36:19
원래의
1089명이 탐색했습니다.

去年服务器和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,端口不一样

<code>@ECHO OFF
set PHP_FCGI_MAX_REQUESTS=1000

echo Starting php-cgi
RunHiddenConsole php\php-cgi.exe -b 127.0.0.1:9000 -c config\php_5.5.ini -i

echo Starting nginx
cd nginx
start nginx

EXIT
</code>
로그인 후 복사

然后在Nginx的配置文件里面,指定不同的应用给不同端口的PHP-CGI

<code>        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;
        }
</code>
로그인 후 복사

采纳了一个答案,但还是自己搞了,因为我用的是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,还是只出来一半。

有谁遇到过么?

遇到过相同问题
同求答案啊

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿