当前位置:

首页 > 编程开发 > 实用centos非宝塔php安装及更换php版本

实用centos非宝塔php安装及更换php版本

在CentOS下更换PHP版本时,需先确认旧版本并立即终止其php-fpm进程,然后通过修改配置文件将监听端口改为9200,启动新版本PHP服务,接着配置Nginx的fastcgi指向该新端口,并重启Nginx,最后设置新服务开机自启,即可完成版本切换,避免冲突。

一、手把手教你搞定PHP版本切换与配置

在开始之前,咱们先确认一个前提:你已经通过之前的教程,在Centos下利用um方法成功安装了PHP 5.5到7.0之间的某个版本。这一步做完后,你心里应该有个底:php-fpm的配置文件大概率在/etc/php-fpm.conf,而它的运行程序则在/usr/sbin/php-fpm。下面,我们一步步来操作。

二、先摸清当前PHP的老底

先别急着动手,得看看现在系统里跑的是哪个版本。在终端里敲下:

php -v

屏幕上会显示类似这样的信息:

PHP 5.6.40 (cli) (built: Jan 12 2019 13:11:15) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

这里显示的是PHP 5.6.40,但如果你用phpinfo()函数去看,实际显示的可能是5.6.29。这种版本不一致的情况其实是常见的,咱们今天的目标就是把它彻底换掉。

三、停掉老旧的php-fpm进程

要换血,首先得让老家伙停下来。最直接的方式是:

pkill php

当然,如果你喜欢更稳当的方法,也可以先用ps命令找到它的进程号,再用kill把它干掉:

ps -elf | grep -i php-fpm
kill -9 12677  # 12677 是你从上面查到的PID号

四、顺藤摸瓜,找到新配置的门路

进程停掉后,咱们得找到新安装的PHP的配置文件藏在哪里。用find命令全盘搜索一下:

find / -name php-fpm.conf

结果会列出一堆路径,比如:

/etc/php-fpm.conf
/usr/lib/tmpfiles.d/php-fpm.conf
/usr/local/php/etc/php-fpm.conf
/root/php-5.6.29/sapi/fpm/php-fpm.conf

根据经验,系统启动时读的配置文件大概率是/etc/php-fpm.conf。为了确认,咱们再找找php-fpm的可执行文件:

find / -name php-fpm

结果如下:

/etc/sysconfig/php-fpm
/etc/logrotate.d/php-fpm
/etc/rc.d/init.d/php-fpm
/usr/local/php/sbin/php-fpm
/usr/sbin/php-fpm
/var/log/php-fpm
/run/php-fpm
/root/php-5.6.29/sapi/fpm/php-fpm

顺着这个思路找下去,你会发现新安装的程序其实在/usr/sbin/php-fpm这里。我们来验证一下,如果直接运行它:

/usr/sbin/php-fpm

结果大概率会报错:

[24-Jun-2023 18:01:19] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
[24-Jun-2023 18:01:19] ERROR: FPM initialization failed

这很正常,因为9000端口已经被老版本的PHP占用了。咱们得给新版本换个端口,比如9200。

我们打开配置文件看看:

vi /etc/php-fpm.conf

在文件末尾看到一行注释:; See /etc/php-fpm.d/*.conf,这说明真正的配置细节在另一个目录下。进入这个目录:

cd /etc/php-fpm.d/
ll

你会发现一个www.conf文件。打开它:

vi www.conf

找到listen = 127.0.0.1:9000这行,把它改成:

listen = 127.0.0.1:9200

保存退出。这样,新版本的PHP-FPM就成功“搬家”到9200端口了。

五、启动新服务,确认端口监听

配置文件改好了,下一步就是启动它:

/usr/sbin/php-fpm

然后,用netstat命令检查一下端口是否正常监听:

netstat -lntp

如果看到类似下面的输出,那就说明服务正常启动了:

tcp        0      0 127.0.0.1:9200          0.0.0.0:*               LISTEN      2884/php-fpm: maste

这一步很关键,端口监听成功,所有工作才算真正落地。

六、配置Nginx,让网站接入新PHP

现在,PHP服务已经就绪,但Nginx还指向老版本呢。我们得给它配置一个新的站点。首先,找到Nginx的配置文件:

find / -name nginx.conf

大概率在/usr/local/nginx/conf/nginx.conf。打开它,在文件末尾添加如下配置:

server {
    listen 81;
    server_name 127.0.0.1;
    root /root/php_web;
    index index.html index.htm index.php;

    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9200;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
        include fastcgi_params;
    }
}

这里特别要注意的是,fastcgi_pass后面跟的端口必须是9200,也就是我们刚才配置的新端口。保存文件后,重载Nginx配置:

/usr/local/nginx/sbin/nginx -s reload

七、设置开机自启,一劳永逸

重启服务器后,可不想再手动启动PHP-FPM了。所以,我们把它设置成开机自启:

chkconfig php-fpm on

系统会提示:

正在将请求转发到“systemctl enable php-fpm.service”。
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.

这样,以后每次开机,PHP-FPM都会自动运行起来。

八、最后验证,确认一切无误

搞定了,咱们来验证一下。先用whereis命令看看php-fpm的程序文件在哪:

whereis php-fpm

结果:

php-fpm: /usr/sbin/php-fpm /etc/php-fpm.d /etc/php-fpm.conf /usr/share/man/man8/php-fpm.8.gz

再用which命令确认一下它的运行路径:

which php-fpm

结果:

/usr/sbin/php-fpm

到这里,整个PHP版本更换和配置过程就全部完成了。现在,你可以放心的在网站根目录下放一个phpinfo()文件,看看是不是已经变成了你想要的PHP版本。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发 PHP
相关文章 更多
codex安装windows 命令行完整操作教程
codex安装windows 命令行完整操作教程

详解Windows环境下安装OpenAI Codex CLI的步骤,包括WSL环境检查、Node.js/npm配置、npm全局安装命令及首次启动验证,适合开发者快速上手。

NativeRest环境配置要求与完整操作教程
NativeRest环境配置要求与完整操作教程

学习如何配置 NativeRest REST API 客户端。涵盖 Windows/macOS/Linux 安装后的工作区创建、环境变量管理、请求编辑及响应查看步骤,帮助开发者快速完成基础环境搭建与连通性测试。

CSS设置透明度的注意事项有哪些?opacity属性详解
CSS设置透明度的注意事项有哪些?opacity属性详解

深入解析CSS中设置透明度的核心属性opacity,剖析子元素继承、事件穿透、层叠上下文等关键注意事项,并提供与rgba、hsla的实用选型对比。

flutter页面传值到后台的方法及示例代码
flutter页面传值到后台的方法及示例代码

flutter页面传值到后台的完整实现方法及示例代码,帮助读者快速掌握相关技术要点。

Java 8至21新特性代码写法对比:Lambda、Record与Switch
Java 8至21新特性代码写法对比:Lambda、Record与Switch

本文通过具体的旧版与新版代码对比,详细剖析Java 8引入的Lambda表达式、Java 14/16引入的Record类,以及Java 12至21逐步演进完善的Switch表达式与模式匹配,展示代码简化路径与避坑要点。

AI智能体开发培训课程学什么及实战内容介绍
AI智能体开发培训课程学什么及实战内容介绍

系统梳理AI智能体开发培训的核心知识模块、技术栈选型与典型实战项目,解析低代码平台与纯代码框架的差异,提供从零构建可落地智能体的完整学习与实施路径。

Java子类未实现抽象方法编译错误修复指南
Java子类未实现抽象方法编译错误修复指南

针对Java开发中常见的“子类未实现抽象方法”编译错误,深入分析报错原因,提供重写实现、声明抽象子类两种标准修复路径,并总结参数签名、访问修饰符等典型避坑要点。

解决PHP递归报错:max_nesting_level限制与内存溢出处理
解决PHP递归报错:max_nesting_level限制与内存溢出处理

遇到PHP递归报错时,不要盲目调大max_nesting_level。本文教你区分Xdebug限制、内存耗尽和正则递归错误,提供代码级的终止条件优化与迭代替代方案,彻底解决栈溢出问题。

PHP递归中static变量与引用传递的常见陷阱及调试
PHP递归中static变量与引用传递的常见陷阱及调试

本文分析PHP递归中static变量导致的状态污染及引用传递引发的共享数据修改问题。提供具体的代码复现、缓存键设计建议及调试打印技巧,帮助开发者避免隐蔽的逻辑错误。

PHP递归性能优化技巧与迭代替代方案
PHP递归性能优化技巧与迭代替代方案

解析PHP递归函数在树形数据处理中的性能瓶颈,提供预加载数据消除I/O、使用显式栈替代深层递归的实战方案,帮助开发者在代码可读性与执行效率间做出合理取舍。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
photoshop
photoshop
Windows、macOS 、 iPad

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender
Windows、macOS 和 Linux

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。

灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

WINDOWS 更多
3dmax(3ds max)
3dmax(3ds max)
Windows

Autodesk 3ds Max 是一款专业的三维建模、动画与渲染软件,广泛应用于建筑可视化、游戏开发、影视动画、广告设计和产品展示等领域。

photoshop
photoshop
Windows、macOS 、 iPad

Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。

Blender
Blender
Windows、macOS 和 Linux

Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。