centos怎样安装多个php
centos安置多个php的办法:第一为yum引入EPEL库和REMI库;然后通过命令“yum-config-manager --enable remi-php71”启用PHP源“remi-php71”;接着安置并配置好“php56”即可。
centos中安置多版本php并同时用于nginx
在创建的虚拟机中安置了php7, 安好了才发明一些老一点的项目跑不了了, 由于php7版本较php5版本有了较大修改, 许多函数已经不是废弃, 而是移除了, 致使许多问题. 只好再安置一个php版本了, 我要安置的是php5.6, 在网上搜了linux中的php多版本治理, 引荐了phpenv, 搞了一通, 没有结果, 只好换个办法了, 直到我发明了这篇文章, 直接解决. 下面给大家介绍安置及配置历程.
引荐:《centos教程》
这种状况下其实可以通过直接在一个linux系统中通过yum等工具安置好不一样的PHP版本, 离别注册PHP-FPM效劳, 配置到效劳器中即可.
实验环境
CENTOS7
Nginx v1.12.2
PHP7(设定为系统默许PHP版本)和PHP5.6
效劳器IP 192.168.56.100
安置PHP7与PHP5.6
第一为yum引入两个库: EPEL与REMI, 由于这个两个库为我们供给最新的PHP版本源, CENTOS 自带的yum库中PHP版本都太老旧了.
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
安置php71
# yum-config-manager --enable remi-php71 [Default] # yum install php php-common php-fpm # yum install php-mysql php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo
第一句用于启用PHP源remi-php71
安置php56
# yum install php56 php56-php-common php56-php-fpm # yum install php56-php-mysql php56-php-pecl-memcache php56-php-pecl-memcached php56-php-gd php56-php-mbstring php56-php-mcrypt php56-php-xml php56-php-pecl-apc php56-php-cli php56-php-pear php56-php-pdo
在linux中施行php -v, 验证一下, 当前的php版本应当是7.1
安置好之后, 下面就要配置php-fpm与php56-php-fpm, 他们是php的Fastcgi进程治理器, linux中web效劳器调取php处置就是通过他们.
好了,开端配置吧.
两个php版本离别对应的配置文件为
php-fpm (default 7.1) – /etc/php-fpm.d/www.conf php56-php-fpm – /opt/remi/php56/root/etc/php-fpm.d/www.conf
(很奇妙, 安置php56版本的名目是在opt名目下)
翻开两个配置文件, 更换如下代码
listen = 127.0.0.1:9000[php-fpm] listen = 127.0.0.1:9001[php56-php-fpm]
假如是通过socket通讯方式调取php-fpm的状况, 则更换代码如下
listen = /var/run/php-fpm/php-fpm.sock[php-fpm] listen = /opt/remi/php56/root/var/run/php-fpm/php-fpm.sock[php56-php-fpm]
离别注册并启用两个版本的php-fpm效劳
# systemctl enable nginx # systemctl start nginx # systemctl enable mariadb # systemctl start mariadb ---------------- PHP 7.1 ---------------- # systemctl enable php-fpm # systemctl start php-fpm ---------------- PHP 5.6 ---------------- # systemctl enable php56-fpm # systemctl start php56-php-fpm
使用php7的nginx效劳器配置
server { listen 80; server_name example1.com www.example1.com; root /var/www/html/example1.com/; index index.php index.html index.htm; #charset koi8-r; access_log /var/log/nginx/example1.com/example1_access_log; error_log /var/log/nginx/example1.com/example1_error_log error; location / { try_files $uri $uri/ /index.php?$query_string; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ \.php$ { root /var/www/html/example1.com/; fastcgi_pass 127.0.0.1:9000;#set port for php-fpm to listen on fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include /etc/nginx/fastcgi_params; } } `
使用php56的nginx效劳器中配置
server { listen 80; server_name example2.com www.example2.com; root /var/www/html/example2.com/; index index.php index.html index.htm; #charset koi8-r; access_log /var/log/nginx/example2.com/example2_access_log; error_log /var/log/nginx/example2.com/example2_error_log error; location / { try_files $uri $uri/ /index.php?$query_string; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ \.php$ { root /var/www/html/example2.com/; fastcgi_pass 127.0.0.1:9001;#set port for php56-php-fpm to listen on fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include /etc/nginx/fastcgi_params; } }
增加测试网页文件
# echo "<?php phpinfo(); ?>" > /var/www/html/example1.com/info.php # echo "<?php phpinfo(); ?>" > /var/www/html/example2.com/info.php
测试
之后拜访example1.com/info.php 与 example2.com/info.php测试即可.
假如你是在当地虚拟机中配置的, 别忘了在当地host文件中增加
192.168.56.100 example1.com example1 192.168.56.100 example2.com example2
以上就是centos怎样安置多个php的具体内容,更多请关注百分百源码网其它相关文章!