centos如何安装多个php

centos安装多个php的方法:首先为yum引入EPEL库和REMI库;然后通过命令“yum-config-manager –enable remi-php71”启用PHP源“remi-php71”;接着安装并配置好“php56”即可。

centos如何安装多个php

centos中安装多版本php并同时用于nginx

在新建的虚拟机中安装了php7, 安好了才发现一些老一点的项目跑不了了, 由于php7版本较php5版本有了较大修改, 很多函数已经不是废弃, 而是移除了, 导致很多问题. 只好再安装一个php版本了, 我要安装的是php5.6, 在网上搜了linux中的php多版本管理, 推荐了phpenv, 搞了一通, 没有结果, 只好换个方法了, 直到我发现了这篇文章, 直接解决. 下面给大家介绍安装及配置过程.

推荐:《centos教程》

这种情况下其实可以通过直接在一个linux系统中通过yum等工具安装好不同的PHP版本, 分别注册PHP-FPM服务, 配置到服务器中即可.

立即学习“PHP免费学习笔记(深入)”;

实验环境

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

如知AI笔记 如知AI笔记

如知笔记——支持markdown的在线笔记,支持ai智能写作、AI搜索,支持DeepseekR1满血大模型

如知AI笔记 27 查看详情 如知AI笔记

# 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.confphp56-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   example1192.168.56.100   example2.com   example2

以上就是centos如何安装多个php的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/379878.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月6日 10:57:16
下一篇 2025年11月6日 10:59:32

相关推荐

  • 解决PHP Twilio SDK凭证错误:getenv()与环境变量配置指南

    本文旨在解决PHP Twilio SDK中常见的“Credentials are required”错误,该错误通常源于getenv()函数无法正确获取Twilio账户SID和Auth Token。我们将深入探讨getenv()在Web环境下的工作机制,并提供两种有效的解决方案:直接在代码中赋值(适…

    2025年12月12日
    000
  • PHP怎么安装Swoole_PHP异步扩展安装方法

    答案:安装Swoole需先准备系统环境和PHP开发依赖,如php-dev、gcc、make等,并根据系统类型安装对应包;推荐使用PECL安装,命令为sudo pecl install swoole,若需自定义配置可选择源码编译,通过git克隆或下载源码后执行phpize、./configure、ma…

    2025年12月12日
    000
  • PHP怎么安装Redis扩展_PHPRedis扩展安装方法

    安装PHPRedis扩展需让PHP能调用Redis服务,推荐使用PECL安装(sudo pecl install redis),需先安装php-dev和编译工具,再在php.ini中添加extension=redis.so并重启PHP服务;也可手动编译(git clone后phpize &&…

    2025年12月12日
    000
  • PHP怎么安装Magento_PHP电商系统环境配置

    Magento要求PHP 7.4或8.1,需安装bcmath、curl、gd、intl、mbstring、pdo_mysql、soap、xml、zip、opcache等扩展,并配置memory_limit=2G、max_execution_time=360、opcache.memory_consum…

    2025年12月12日
    000
  • PHP怎么安装MongoDB扩展_PHP MongoDB驱动安装

    安装PHP的MongoDB扩展需根据系统平台选择正确版本并配置php.ini。1. 确认PHP版本、架构(x64/x86)和线程安全模式(TS/NTS);2. Windows用户从PECL下载对应DLL文件,放入ext目录并在php.ini中添加extension=mongodb;3. Linux/…

    2025年12月12日
    000
  • PHP源码编译安装方法_PHP源码编译安装步骤详解

    答案:源码编译PHP可实现高度定制、性能优化和环境一致性,适用于需精确控制模块、特殊扩展或高并发场景;核心步骤包括准备依赖、下载解压、配置选项、编译安装及FPM与Web服务器集成。 编译PHP源码,听起来像是回到了那个手工打造一切的时代,对吧?它确实比直接 apt install php 要繁琐得多…

    2025年12月12日
    000
  • PHP怎么配置API_PHP API开发环境设置

    搭建PHP API开发环境需配置Web服务器(Nginx/Apache)、PHP-FPM、数据库(MySQL/MariaDB),使用Composer管理依赖,并结合IDE与Xdebug调试;推荐Linux系统,选用Laravel、Symfony等框架提升效率;认证常用JWT或OAuth 2.0,授权…

    2025年12月12日
    000
  • PHP代码怎么处理缓存_ PHP缓存机制配置与数据存储步骤

    PHP缓存核心是通过存储计算或查询结果提升性能,主要机制包括Opcache(操作码缓存)、文件缓存、Redis/Memcached(内存缓存)。Opcache减少代码重复编译,适合所有PHP应用;文件缓存简单但I/O性能差,适用于小项目;Redis功能强、支持持久化和复杂数据结构,适合高并发分布式系…

    2025年12月12日
    000
  • PHP怎么安装Drupal_PHP内容管理系统安装

    安装Drupal需先确保PHP、Web服务器和数据库协同工作,使用Composer创建项目并配置文件权限与数据库连接,通过浏览器完成安装;常见问题包括文件权限、数据库连接错误和PHP内存限制,需调整权限、核对信息及增加memory_limit;安装后应收紧文件权限、及时更新核心与模块、启用安全头和O…

    2025年12月12日
    000
  • 如何安装和启用 PHP Redis 扩展

    本教程旨在解决 PHP 应用程序中 Redis 扩展缺失的问题,特别是针对 PHP 7.4 版本。文章将详细指导用户通过 PECL 或手动编译两种方法安装 PHP Redis 扩展,并涵盖 php.ini 配置、服务重启及验证步骤,确保 Redis 扩展正确启用,从而提升应用性能和功能。 1. 引言…

    2025年12月12日
    000
  • PHP Redis扩展安装教程:解决依赖缺失与环境配置

    本教程旨在指导用户如何在PHP环境中正确安装和启用Redis扩展,以解决常见的ext-redis依赖缺失问题,特别是针对PHP 7.4版本。文章将详细介绍通过PECL或手动编译安装扩展的步骤,并涵盖php.ini配置、安装验证及常见问题排查,确保PHP应用能够顺利与Redis服务器进行交互。 引言:…

    2025年12月12日
    000
  • PHP Redis 扩展安装指南

    本教程旨在解决PHP应用中因缺少Redis扩展(ext-redis)而导致的依赖错误。文章将详细指导如何安装Redis服务器,进而安装并启用PHP Redis扩展,确保PHP应用能够顺利连接和操作Redis数据库,并提供验证方法和常见问题解决方案。 引言:理解 PHP Redis 扩展的重要性 在现…

    2025年12月12日
    000
  • PHP环境下安装Redis扩展:从服务器到PHP配置的完整指南

    本教程旨在解决PHP环境中Redis扩展(ext-redis)安装与识别的常见问题。文章将详细指导如何安装Redis服务器、通过PECL安装PHP Redis扩展,并正确配置PHP以启用该扩展,确保其在PHP应用中正常运行,从而替代基于客户端库的解决方案,提升性能。 1. 理解 Redis 服务器与…

    2025年12月12日
    000
  • Laravel队列延迟分发失效:如何排查并解决60秒延迟任务执行失败的问题?

    Laravel 8.78.1 延迟队列失效及超时错误解决方案 本文分析并解决在Laravel 8.78.1环境下,延迟队列任务执行失败的问题。 问题表现为:开发者试图使用队列机制在60秒后更新订单状态,但延迟分发功能失效,并出现AppJobsSettlementOrder has been atte…

    2025年12月12日
    000
  • Laravel队列延迟分发失效:任务超时导致延迟任务失败怎么办?

    排查 Laravel 队列延迟分发失效问题 本文分析并解答 Laravel 队列延迟分发失效的常见原因。 问题场景:在 Laravel 8.78.1 (LNMP 环境:CentOS 7.6,PHP 7.4.21,MySQL 5.7.34,Redis 6.2.4) 使用 Redis 驱动进行队列延迟分…

    2025年12月12日
    000
  • Laravel延迟队列任务无法按时执行是什么原因?

    排查Laravel延迟队列任务执行失败 本文分析并解决Laravel 8.78.1版本下Redis队列延迟任务失效的问题,该问题表现为任务未按预期执行,并出现“AppJobsSettlementOrder has been attempted too many times or run too lo…

    2025年12月12日
    000
  • CentOS 7.9下编译PHP 7.3.24时,如何解决zip.h文件导致的编译错误?

    在CentOS 7.9系统上编译PHP 7.3.24时,您可能会遇到zip.h文件引起的编译错误。这些错误通常与struct zip_error和struct zip_stat结构体定义,以及_Nullable和_Nonnull宏的冲突有关。 错误信息可能提示expected ‘:’, ‘,’, ‘…

    2025年12月12日
    000
  • php面板有哪些

    常见的PHP面板有5种:cPanel、DirectAdmin、Plesk、VestaCP、CentOS Web Panel。这些面板提供广泛的功能,包括网站管理、数据库管理、文件管理、电子邮件管理、安全性和备份等。 PHP面板有哪些? PHP面板是一种用于管理PHP网站和服务器的控制面板,它提供了一…

    2025年12月12日
    000
  • centos 如何升级php

    在 CentOS 上升级 PHP 的步骤如下:启用 Remi 仓库;安装 EPEL 仓库;安装最新的 PHP 版本;配置 PHP 版本;启用扩展;验证安装。 在 CentOS 上升级 PHP 如何升级 PHP? 在 CentOS 上升级 PHP 的步骤如下: 1. 启用 Remi 仓库 立即学习“P…

    2025年12月12日
    000
  • php如何升级

    要升级 PHP,请遵循以下步骤:检查当前版本。选择新版本。备份文件。安装新版本(推荐使用包管理器或从源码编译)。配置新版本。测试升级。启用新版本(可选)。监控和维护。 PHP 升级指南 第一步:确定当前 PHP 版本 使用以下命令查看当前 PHP 版本: php -v 第二步:选择新版本 立即学习“…

    2025年12月12日
    000

发表回复

登录后才能评论
关注微信