首先安装好不同版本的php
1 2 3 | root@ubuntu:/usr/local# ls autoconf-2.13 bin curl etc freetype games include lib man mysql nginx php php5.2 php5.6 sbin share src zend zend52 root@ubuntu:/usr/local# |
配置
以防修改配置文件出错,可以先做好备份
1 | vim etc/php-fpm.conf |
需要注意下面几处配置
1 | <value name="listen_address">127.0.0.1:9100</value> |
这个表示php的fastcgi进程监听的ip地址以及端口。因为本地已经有一个5.6版本了所以这里改成9100
1 | <value name="group">nobody</value> |
表示php的fastcgi进程以什么用户以及用户组来运行,默认该行是注释掉的,需要打开
1 | <value name="display_errors">0</value> |
是否显示php错误信息
1 | <value name="max_children">5</value> |
最大的子进程数目
运行php-fpm: php-fpm用一个程序来控制fastcgi进程,这个文件在$PREFIX/sbin/php-fpm
php5.6版本的php-fpm.conf文件
成功运行php-fpm后
nginx配置
1 2 3 4 5 6 7 8 9 10 11 12 13 | server{ listen 80; server_name php5.2.com; index index.html index.htm index.php; root /home/wwwroot/php5.2; location ~ \.php$ { fastcgi_pass 127.0.0.1:9100; #这里把fastcgi_pass 改到本地的9100端口 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include fastcgi_params; } } |
启动
1 | /usr/local/php5.2/sbin/php-fpm start |
php5.3之后官方收录了php-fpm,所以之后的版本不用加start参数
再把启动命令写入/etc/rc.local文件中,开机启动。
到此实现以不同域名访问同一主机。