WHMCS 7.5 發佈了,它開始支持 PHP 7.2,這裡就寫個簡單的教程記錄一下安裝方式。 1、準備工作 首先,我們需要按照 在Debian 9 / Debian 8 下使用源安裝方式安裝 LEMP 一文,安裝好 LEMP 環境,可以選一些需要用到的 PHP 7.2 軟體包: 2、安裝 ionC ...
WHMCS 7.5 發佈了,它開始支持 PHP 7.2,這裡就寫個簡單的教程記錄一下安裝方式。
1、準備工作
首先,我們需要按照 在Debian 9 / Debian 8 下使用源安裝方式安裝 LEMP 一文,安裝好 LEMP 環境,可以選一些需要用到的 PHP 7.2 軟體包:
apt-get 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-json php7.2-imap php7.2-opcache -y
2、安裝 ionCube Loader 10
WHMCS 7.5 開始,已不支持老版本 ionCube Loader,所以我們需要從官網上下載最新的版本併進入解壓後的 ioncube 目錄
wget http://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.zip unzip ioncube_loaders_lin_x86-64.zip cd ioncube
按照預設編譯 PHP 7.2 的 PHP Extension 我們可以找到 PHP 7.2 擴展的目錄在 /usr/lib/php/20170718/
對應的話,PHP 7.0 在 /usr/lib/php/20151012/,PHP 7.1 在 /usr/lib/php/20160303/
然後把 ioncube 目錄里的 ioncube_loader_lin_7.2.so 給複製過去
cp -r ioncube_loader_lin_7.2.so /usr/lib/php/20170718/
對應 PHP 7.1 就是
cp -r ioncube_loader_lin_7.1.so /usr/lib/php/20160303/
對應 PHP 7.0 就是
cp -r ioncube_loader_lin_7.0.so /usr/lib/php/20151012/
然後增加一個 FPM 的模塊配置文件
cat >> /etc/php/7.2/mods-available/ioncube.ini << EOF zend_extension = ioncube_loader_lin_7.2.so
然後給 PHP-FPM 和 PHP-Cli 都增加 ioncube 模塊
ln -s /etc/php/7.2/mods-available/ioncube.ini /etc/php/7.2/fpm/conf.d/01-ioncube.ini ln -s /etc/php/7.2/mods-available/ioncube.ini /etc/php/7.2/cli/conf.d/01-ioncube.ini
然後重啟 PHP-FPM
systemctl restart php7.2-fpm
我們來檢查一下是否生效
root@debian ~ # php -v PHP 7.2.3-1+0~20180306120016.19+stretch~1.gbp81bf3b (cli) (built: Mar 6 2018 12:00:19) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.2.0, Copyright (c) 2002-2018, by ionCube Ltd. with Zend OPcache v7.2.3-1+0~20180306120016.19+stretch~1.gbp81bf3b, Copyright (c) 1999-2018, by Zend Technologies
看到 with the ionCube PHP Loader (enabled) 即可
PS:對應的 PHP 7.1 和 PHP 7.0 用戶請自行修改目錄,不再重覆
3、修改 MySQL 配置
按照官方說明,WHMCS 7 開始不支持 SQL strict 模式
WHMCS requires MySQL strict mode to be turned off in order for it to function.
所以我們需要關閉 Percona Server 里預設開啟的 SQL strict 模式
直接修改 /etc/mysql/percona-server.conf.d/mysqld.cnf 文件,把 sql_mode 改成 sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 即可
最後這文件看上去就像這樣子
[mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql explicit_defaults_for_timestamp # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1 log-error = /var/log/mysql/error.log # Recommended in standard MySQL setup sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0
---------------
[mysqld] user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql explicit_defaults_for_timestamp # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.1 log-error = /var/log/mysql/error.log # Recommended in standard MySQL setup sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0
重啟 MySQL
systemctl restart mysql
最後配置 Nginx 和安裝 WHMCS 就不再多重覆了