Deploying PHP Multi-version coexistence under Linux
- Deploying PHP Multi-version coexistence under Linux
- Background notes
- Start installation
- Phpini Configuration
- php-fpmconf Configuration
- Start PHP-FPM
- Modify Nginx configuration to use php-5445 for required service configuration
- Configuring the php-5445 PHP54-FPM boot automatically
Background notes
Since the advent of PHP7, as the latest version of the control I immediately upgrade experience, but because the server also has the old program is running, had to deploy a PHP multi-version coexistence environment.
The existing environment is LNMP
-CentOS 6.7
-Nginx 1.10.1
-mariadb-10.0.26
-PHP 7.0.8
For better compatibility with older PHP programs, it is recommended to use 5.4.45. is primarily compatible with MySQL extensions.
Start installation
First, download the php-5.4.45.tar.gz source package.
Install via source
#TarXZVFPHP-5.4. $.Tar.GZ#CDPHP-5.4. $#./configure--PREFIX=/USR/LOCAL/PHP54-- with-Config-file-path=/usr/local/php54/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# Makezend_extra_libs= '-Liconv '# MakeInstall#CPPHP.INI-Production/usr/local/php/etc/php.INI
PHP.ini Configuration
5050Mdate.timezone = PRCshort_open_tag = Oncgi.fix_pathinfo=0300disable_functi>exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
php-fpm.conf Configuration
# vim /usr/local/php/etc/php-fpm.conf
[global]pid = /usr/local/php54/var/run/php-fpm.piderror_log = /usr/local/php54/var/log/php-fpm.loglog_level = notice[www]listen = /tmp/php54-cgi.socklisten.backlog = -1listen.allowed127.0.0.1:9001listen.owner = wwwlisten.group = wwwlisten.mode0666user = wwwgroup = wwwpm = dynamicpm.max40pm.start20pm.min20pm.max401000slowlog = var/log/slow.log
Note: The focus is on configuring the listening ports and processes
Start PHP-FPM
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php54-fpm# chmod +x /etc/init.d/php54-fpm# /etc/init.d/php54-fpm start
Modify the Nginx configuration to use php-5.4.45 for the required service configuration
location ~ [^/]\.php(/|$) { $uri =404; fastcgi_pass unix:/tmp/php54-cgi.sock; fastcgi_index index.php; include fastcgi.conf; }
Configuring the php-5.4.45 PHP54-FPM boot automatically
# chkconfig --add php54-fpm# chkconfig php54-fpm on
Chkconfig function Description: Check, set the various services of the system.
Syntax: chkconfig [–add][–del][–list][system service]
Chkconfig [–level] [ <等级代号> system services][on/off/reset]
'). addclass (' pre-numbering '). Hide (); $ (this). addclass (' has-numbering '). Parent (). append ($numbering); for (i = 1; i <= lines; i++) {$numbering. Append ($ ('
'). Text (i)); }; $numbering. FadeIn (1700); }); });
The above describes the deployment of PHP multi-version coexistence, including aspects of the content, I hope that the PHP tutorial interested in a friend helpful.