缘起
前阵子想升级WordPress,但是发现需要PHP5.6以上,奈何我的版本好像是5.4,没办法,只能升级。但是普通的 yum update
发现没变化。
查阅一下发现 CentOS 上默认源里就是5.4的,再高?没了。。。那就只能自己手动换库咯~
Remi 库
Remi 库是一款流行并且免费的第三方库,但是要使用它,首先要确保你的系统中有 EPEL,如果没有,可以通过如下命令安装:
sudo yum install epel-release yum-utils
然后就可以安装 Remi 库了:
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
安装 PHP7
现在我们已经可以安装 PHP 的 7.x 版本了。
说来也是比较有意思,7.x 的版本需要按不同版本号进行安装,目前最新的是7.4,所以就以7.4为例,其它版本流程一样,只需要换一下版本号即可。
1、启用对应的版本库
启用对应版本的 Remi 库,不同版本只需要修改对应的版本号即可。输入如下命令:
sudo yum-config-manager --enable remi-php74
2、安装对应模块
安装 PHP 以及其配套模块:
sudo yum install php php-common php-opcache php-mcrypyt php-cli php-gd php-curl php-mysqlnd
3、查看版本
其实已经安装成功了,输入命令可以查看到版本信息:
php -v
已经成功了~
配置服务器
升级成功,需要配合服务器重新进行设置。
Apache
针对 Apache,已经成功,不需要额外配置,只需要重启即可:
sudo systemctl restart httpd
Ngnix
Nigix 的配置还是需要一定技术的,因为不支持 PHP 文件,所以需要额外的 FPM 软件来处理:
sudo yum install php-fpm
安装完成后,在 /etc/php-fpm.d/www.conf
文件中会发现9000端口被一个名为 apache 的用户监听,我们如下修改:
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
然后重新设置权限:
sudo chown -R root:nginx /var/lib/php
接着启用 fpm:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
可以通过 sudo systemctl status php-fpm
查看 php-fpm 的状态。
然后在 Ngnix 块
中添加以下配置内容,以便 Ngnix 可以处理 PHP:
server {
# . . . other code
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
最后重启 Ngnix 即可:
sudo systemctl restart ngnix
最后
至此,大功告成。
文章评论