centos如何安装多个php
发布时间 - 2020-08-21 00:00:00 点击率:次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 "" > /var/www/html/example1.com/info.php # echo "" > /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
# nginx
# linux
# 是在
# 好了
# 配置文件
# 装好
# 的是
# 机中
# 器中
# 如果你
# 我要
# 一句
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
创业网站制作流程,创业网站可靠吗?
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】
Android滚轮选择时间控件使用详解
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
公司门户网站制作流程,华为官网怎么做?
再谈Python中的字符串与字符编码(推荐)
高端建站如何打造兼具美学与转化的品牌官网?
html如何与html链接_实现多个HTML页面互相链接【互相】
如何快速上传自定义模板至建站之星?
米侠浏览器网页图片不显示怎么办 米侠图片加载修复
如何快速生成ASP一键建站模板并优化安全性?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
Android中AutoCompleteTextView自动提示
javascript中闭包概念与用法深入理解
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
如何在阿里云虚拟服务器快速搭建网站?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
Android自定义控件实现温度旋转按钮效果
高防服务器租用指南:配置选择与快速部署攻略
网站制作软件免费下载安装,有哪些免费下载的软件网站?
如何在服务器上三步完成建站并提升流量?
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
EditPlus中的正则表达式 实战(2)
深入理解Android中的xmlns:tools属性
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
Mybatis 中的insertOrUpdate操作
Laravel如何实现用户注册和登录?(Auth脚手架指南)
如何快速搭建高效服务器建站系统?
大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
WEB开发之注册页面验证码倒计时代码的实现
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
北京网站制作公司哪家好一点,北京租房网站有哪些?
最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?
Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程
使用Dockerfile构建java web环境
JavaScript模板引擎Template.js使用详解
如何用虚拟主机快速搭建网站?详细步骤解析
如何破解联通资金短缺导致的基站建设难题?
zabbix利用python脚本发送报警邮件的方法
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
如何在阿里云完成域名注册与建站?

