Freebsd10.3 Nginx多版本PHP
服务器上需要使用多个php版本,费了好几天劲,终于有所收获。记录如下:
1.下载php-5.5.37.tar.bz2。
2.tar zvxf php-5.5.37.tar.bz2 -C /usr/local/php55(如果上述目录不存在,新建一个吧)
3.进入php-5.5.37目录。
4../configure --prefix=/usr/local/php55 --with-config-file-path=/usr/local/php55/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-intl --with-xsl
系统开始配置,如果配置过程中出现某个扩展不存在,直接pkg install 扩展名。(特别是提示ICU不存在,请直接pkg install ICU,一般还需要安装libmcrypt,libxslt),配置完成后最好make test;
5.make ZEND_EXTRA_LIBS='-liconv'
6.make install
嗯,基本差不多了。然后,需要做一些后续工作,我们来设置php5.5的监听端口为9001;
1.将/usr/local/php55/php-5.5.37/sapi/fpm/init.d.php-fpm这个文件复制为/etc/rc.d/php-fpm
2.编辑/usr/local/php55/etc/php-fpm.conf,设置监听端口为9001
3.运行php-fpm.(/etc/rc.d/php-fpm start
4.在nginx.conf中配置一个网站,使用9001端口来解析php,然后service nginx restart
人品不错的话,基本成功。
然后安装php70,这个就简单多了,上一篇文章中已经说过了,值得注意的是这时启动php70,应该直接/usr/local/sbin/php-fpm,这时两个php-fpm应该能同时使用。再用sockstat看一下监听端口,9000和9001都存在了。