商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 实用centos非宝塔php安装及更换php版本

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

  发布于2026-07-19 阅读(0)

扫一扫,手机访问

一、手把手教你搞定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版本。

本文转载于:https://blog.csdn.net/tiging/article/details/131364959 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注