发布于2026-07-19 阅读(0)
扫一扫,手机访问
在开始之前,咱们先确认一个前提:你已经通过之前的教程,在Centos下利用um方法成功安装了PHP 5.5到7.0之间的某个版本。这一步做完后,你心里应该有个底:php-fpm的配置文件大概率在/etc/php-fpm.conf,而它的运行程序则在/usr/sbin/php-fpm。下面,我们一步步来操作。
先别急着动手,得看看现在系统里跑的是哪个版本。在终端里敲下:
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。这种版本不一致的情况其实是常见的,咱们今天的目标就是把它彻底换掉。
要换血,首先得让老家伙停下来。最直接的方式是:
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
这一步很关键,端口监听成功,所有工作才算真正落地。
现在,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版本。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8