Deploy multiple versions of PHP to coexist under Linux

WBOY
Release: 2016-07-28 08:28:34
Original
1167 people have browsed it

Deploying multiple versions of php under Linux to coexist

  • Deploying multiple versions of php to coexist under Linux
    • Background description
    • Start the installation
    • phpini configuration
    • php-fpmconf configuration
    • Start php-fpm
    • Modify nginx configuration as needed The service configuration uses php-5445
    • Configure php-5445's php54-fpm to start automatically at boot

Background description

Since the advent of php7, as the latest version control, I immediately upgraded to experience it, but due to the server There are still old programs running on the computer, so we have 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

In order to be better compatible with old php programs, it is recommended to use 5.4.45. It is mainly compatible with the mysql extension.

Start the installation

First download the php-5.4.45.tar.gz source package.

Install through source code

<code><span>#</span><span>tar</span><span>xzvf</span><span>php</span><span>-</span><span>5</span><span>.</span><span>4</span><span>.</span><span>45</span><span>.</span><span>tar</span><span>.</span><span>gz</span><span>#</span><span>cd</span><span>php</span><span>-</span><span>5</span><span>.</span><span>4</span><span>.</span><span>45</span><span>#</span><span>.</span><span>/configure</span><span>-</span><span>-</span><span>prefix=/usr/local/php54</span><span>-</span><span>-</span><span>with</span><span>-</span><span>config</span><span>-</span><span>file</span><span>-</span><span>path=/usr/local/php54/etc</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>fpm</span><span>-</span><span>-</span><span>with</span><span>-</span><span>fpm</span><span>-</span><span>user=www</span><span>-</span><span>-</span><span>with</span><span>-</span><span>fpm</span><span>-</span><span>group=www</span><span>-</span><span>-</span><span>with</span><span>-</span><span>mysql=mysqlnd</span><span>-</span><span>-</span><span>with</span><span>-</span><span>mysqli=mysqlnd</span><span>-</span><span>-</span><span>with</span><span>-</span><span>pdo</span><span>-</span><span>mysql=mysqlnd</span><span>-</span><span>-</span><span>with</span><span>-</span><span>iconv</span><span>-</span><span>dir</span><span>-</span><span>-</span><span>with</span><span>-</span><span>freetype</span><span>-</span><span>dir=/usr/local/freetype</span><span>-</span><span>-</span><span>with</span><span>-</span><span>jpeg</span><span>-</span><span>dir</span><span>-</span><span>-</span><span>with</span><span>-</span><span>png</span><span>-</span><span>dir</span><span>-</span><span>-</span><span>with</span><span>-</span><span>zlib</span><span>-</span><span>-</span><span>with</span><span>-</span><span>libxml</span><span>-</span><span>dir=/usr</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>xml</span><span>-</span><span>-</span><span>disable</span><span>-</span><span>rpath</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>bcmath</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>shmop</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>sysvsem</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>inline</span><span>-</span><span>optimization</span><span>-</span><span>-</span><span>with</span><span>-</span><span>curl</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>mbregex</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>mbstring</span><span>-</span><span>-</span><span>with</span><span>-</span><span>mcrypt</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>ftp</span><span>-</span><span>-</span><span>with</span><span>-</span><span>gd</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>gd</span><span>-</span><span>native</span><span>-</span><span>ttf</span><span>-</span><span>-</span><span>with</span><span>-</span><span>openssl</span><span>-</span><span>-</span><span>with</span><span>-</span><span>mhash</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>pcntl</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>sockets</span><span>-</span><span>-</span><span>with</span><span>-</span><span>xmlrpc</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>zip</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>soap</span><span>-</span><span>-</span><span>with</span><span>-</span><span>gettext</span><span>-</span><span>-</span><span>disable</span><span>-</span><span>fileinfo</span><span>-</span><span>-</span><span>enable</span><span>-</span><span>intl</span><span>-</span><span>-</span><span>with</span><span>-</span><span>xsl</span><span>#</span><span>make</span><span>ZEND_EXTRA_LIBS='</span><span>-</span><span>liconv'</span><span>#</span><span>make</span><span>install</span><span>#</span><span>cp</span><span>php</span><span>.</span><span>ini</span><span>-</span><span>production</span><span>/usr/local/php/etc/php</span><span>.</span><span>ini</span></code>
Copy after login

php.ini configuration

<code>post_max_size = <span>50</span>M
upload_max_filesize = <span>50</span>M
date.timezone = PRC
short_open_tag = On
cgi.fix_pathinfo=<span>0</span>
max_execution_time = <span>300</span>
disable_functi>exec,<span>system</span>,<span>chroot</span>,scandir,chgrp,<span>chown</span>,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,<span>readlink</span>,<span>symlink</span>,popepassthru,stream_socket_server</code>
Copy after login

php-fpm.conf configuration

<code><span># vim /usr/local/php/etc/php-fpm.conf</span></code>
Copy after login
<code>[global]
pid = /usr/local/php54/var/run/php-fpm<span>.pid</span>
error_log = /usr/local/php54/var/log/php-fpm<span>.log</span>
log_level = notice

[www]
listen = /tmp/php54-cgi<span>.sock</span>
listen<span>.backlog</span> = -<span>1</span>
listen<span>.allowed</span>_clients = <span>127.0</span><span>.0</span><span>.1</span>:<span>9001</span>
listen<span>.owner</span> = www
listen<span>.group</span> = www
listen<span>.mode</span> = <span>0666</span>
user = www
group = www
pm = dynamic
pm<span>.max</span>_children = <span>40</span>
pm<span>.start</span>_servers = <span>20</span>
pm<span>.min</span>_spare_servers = <span>20</span>
pm<span>.max</span>_spare_servers = <span>40</span>
request_terminate_timeout = <span>100</span>
request_slowlog_timeout = <span>0</span>
slowlog = var/log/slow<span>.log</span></code>
Copy after login

Note: The key is to configure the listening port and process

Start php-fpm

<code><span># cp sapi/fpm/init.d.php-fpm /etc/init.d/php54-fpm</span><span># chmod +x /etc/init.d/php54-fpm</span><span># /etc/init.d/php54-fpm start</span></code>
Copy after login

Modify nginx configuration as needed The service configuration uses php-5.4.45

<code>  location ~ [^<span>/]\.php(/</span>|<span>$)</span>
  {
      try_files <span>$uri</span> =<span>404</span>;
      fastcgi_pass  <span>unix:</span>/tmp/php54-cgi.sock;
      fastcgi_index index.php;
      <span>include</span> fastcgi.conf;
  }</code>
Copy after login

Configure php-5.4.45's php54-fpm to start automatically at boot

<code><span># chkconfig --add php54-fpm</span><span># chkconfig php54-fpm on</span></code>
Copy after login

chkconfig Function description: Check and set various services of the system.
Syntax: chkconfig [–add][–del][–list][system service]
chkconfig [–level ][system service][on/off/reset]

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

The above has introduced the coexistence of multiple versions of PHP deployed under Linux, including aspects of it. I hope it will be helpful to friends who are interested in PHP tutorials.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!