Debian8.x下Vestacp使用PHP7.2

由于Vestacp面板安装的默认版本是5.6,由于现在PHP7.2都出来了所以就打算将其更新到PHP7.2的版本。

之前里我就有过把该面板的PHP升级到7.0、7.1的复记,这次也不例外也将备份记录一下升级到PHP7.2的一些步骤。

同时这次还把MySql5.5.60换成了MariaDB 10.0.35,但是我是乱操作的目前导致无法在面板上创建数据库和用户。

一、升级PHP到7.2:

#1.安装软件源拓展工具
apt -y install software-properties-common apt-transport-https lsb-release ca-certificates
#2.添加 GPG
wget -O /etc/apt/trusted.gpg.d/php.gpg https://mirror.xtom.com.hk/sury/php/apt.gpg
#3.添加 sury 软件源
sh -c 'echo "deb https://mirror.xtom.com.hk/sury/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'   
#4.更新软件源缓存
apt-get update
#5.安装 PHP7.2:
apt install php7.2-fpm php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php7.2-xml php7.2-xmlrpc php7.2-zip php7.2-opcache -y php-redis -y
#6./etc/php/7.2/fpm/php.ini ;cgi.fix_pathinfo=1改为cgi.fix_pathinfo=0
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php/7.2/fpm/php.ini 

管理 PHP

systemctl restart php7.2-fpm #重启
systemctl start php7.2-fpm #启动
systemctl stop php7.2-fpm #关闭
systemctl status php7.2-fpm #检查状态

二、MariaDB
折腾之前应该先备份数据,因为我这刚安装的面板而没进行备份。

1.停止 MySQL 服务
sudo service mysql stop
2.移除 MySQL 和配置文件
apt-get remove mysql-server mysql-client mysql-common
apt-get autoremove
apt-get autoclean
deluser mysql
rm-rf /var/lib/mysql
3.安装 MariaDB
apt-get install software-properties-common
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
add-apt-repository 'deb http://mirror.mephi.ru/mariadb/repo/5.5/ubuntu trusty main'
apt-get update
apt-get install mariadb-server
4.启动 MariaDB 服务
service mariadb start

2018年12月12日更新:换数据库后发现无法在面板上面添加数据库了,修改/usr/local/vesta/conf/mysql.conf里面的密码即可。

三、Unix Sockets 的 Redis

1.安装 Redis
apt-get install redis-server
2.修改配置文件 (/etc/redis/redis.conf)文件位置不一定相同
将 unixsocket 和 unixsocketperm 前的 # 去掉,并将 unixsocketperm 的值由 700 改为 777,否则将不能清理缓存
unixsocket /tmp/redis.sock
unixsocketperm 777
3.重启
service redis-server restart
4.WP设置
4.1安装 Redis Object Cache 插件
4.2在 wp-config.php 文件的 <?php 后添加,顺序不能变
define('WP_REDIS_PATH', '/tmp/redis.sock');
define('WP_REDIS_SCHEME', 'unix');

四、Session 存储到 Redis

1.修改 php.ini 的设置
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"

由于我是使用着root用户跑的所以sudo则没有使用,当然这是极其不好的。。。。。。

参考:
在 Ubuntu/Debian 下安装 PHP7.2:https://www.mf8.biz/debian-install-php7-2/
WP 使用走 Unix Sockets 的 Redis 作为对象缓存:https://www.mf8.biz/wp-redis-unix/
在 Linux 中怎样将 MySQL 迁移到 MariaDB 上:https://www.linuxidc.com/Linux/2015-09/123001.htm
配置 PHP 的 Session 存储到 Redis:https://www.cnblogs.com/hfdp/p/6671298.html(http://www.cnblogs.com/52php/p/6253134.html)

发布者

ChiuYut

咦?我是谁?这是什么地方? Ya ha!我是ChiuYut!这里是我的小破站!