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 就不再多重复了

如何在 Debian 9 下安装 LEMP 和 WHMCS 7.5的更多相关文章

  1. CentOS 7 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

    原文 CentOS 7 下安装 LEMP 服务(nginx.MariaDB/MySQL 和 php) LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作 ...

  2. CentOS 下安装 LEMP 服务(nginx、MariaDB/MySQL 和 php)

    转载自:https://linux.cn/article-4314-1.html 编译自:http://xmodulo.com/install-lemp-stack-centos.html 作者: D ...

  3. 如何在Debian 9上安装和使用Docker

    介绍 Docker是一个简化容器中应用程序进程管理过程的应用程序.容器允许您在资源隔离的进程中运行应用程序.它们与虚拟机类似,但容器更便携,更加资源友好,并且更依赖于主机操作系统. 在本教程中,您将在 ...

  4. [转载]CentOS 下安装LEMP服务(Nginx、MariaDB/MySQL和PHP)

    LEMP 组合包是一款日益流行的网站服务组合软件包,在许多生产环境中的核心网站服务上起着强有力的作用.正如其名称所暗示的, LEMP 包是由 Linux.nginx.MariaDB/MySQL 和 P ...

  5. 【android开发】如何在Linux平台下安装JDK环境

    原文:http://android.eoe.cn/topic/android_sdk Linux平台JDK安装 本文主要描述如何在Linux平台下安装JDK环境.进入网页:http://www.ora ...

  6. 如何在Windows环境下安装Linux系统虚拟机

    如何在Windows环境下安装Linux系统虚拟机 本篇经验写给想要入门学习C语言的小白们.Windows系统因为使用窗口图形化,操作简单,功能多样,所以我们在Windows环境下可以做到很多,但想要 ...

  7. 如何在Windows10操作系统下安装superset步骤分享

    superset是一个轻量级自助式BI框架,以优雅的界面和根据数据表动态生成数据为主要特点. 一. 环境 windows 10 64位 Python 3.7 二. 安装步骤 安装Python 建议安装 ...

  8. 如何在 Debian 9 上安装和使用 Docker

    Docker 是一个容器化平台,允许您快速构建,测试和部署应用程序,作为便携式,自给自足的容器,几乎可以在任何地方运行. Docker 是容器技术的事实上的标准,它是 DevOps 工程师及其持续集成 ...

  9. 如何在Windows平台下安装配置Memcached

    Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. Memcached是以LiveJournal旗下Danga Interactive公司的Brad Fitzpatric为首开发的一 ...

随机推荐

  1. 404 Note Found 队-Alpha5

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...

  2. 我的QT5学习之路(三)——模板库、工具类和控件(下)

    一.前言 作为第三篇的最后一部分,我们来看一下Qt的控件,谈到控件,就会让人想到界面的美观性和易操作性,进而想到开发的便捷性.作为windows界面开发的MFC曾经是盛行了多少年,但是其弊端也随着其他 ...

  3. ACM-SG函数之S-Nim——hdu1536 hdu1944 poj2960

    S-Nim Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  4. Kmalloc和Vmalloc的区别

    kmalloc()和vmalloc()介绍kmalloc()用于申请较小的.连续的物理内存1. 以字节为单位进行分配,在<linux/slab.h>中2. void *kmalloc(si ...

  5. 算法学习记录-查找——平衡二叉树(AVL)

    排序二叉树对于我们寻找无序序列中的元素的效率有了大大的提高.查找的最差情况是树的高度.这里就有问题了,将无序数列转化为 二叉排序树的时候,树的结构是非常依赖无序序列的顺序,这样会出现极端的情况. [如 ...

  6. Java Activiti 流程审批 后台框架源码 springmvc SSM 工作流引擎

    即时通讯:支持好友,群组,发图片.文件,消息声音提醒,离线消息,保留聊天记录 工作流模块-------------------------------------------------------- ...

  7. 前端调用接口得到的数据跟postman跑出来的数据里数字部份不相等

    昨天碰到这样一个场景,调用后端接口返回的数据发现所有数据都是正常的,只有一个商品ID的最后两位是错的,每一个商品都是,导致无法进行商品的上下架和删除, 经过查资料发现: 浏览器解析数字的坑,一旦超出一 ...

  8. fail2ban 防暴力破解总结

    公司服务器安全问题一直是个令人头疼的问题,许多运维的小伙伴一直在用脚本来监控服务器登录状态,然而脚本编写比较麻烦,今天就给大家推荐一款小而精致的防暴力破解工具 fail2ban ,他可以监控系统日志, ...

  9. 每日Linux命令(2)-cal

    cal命令用来显示公历,公历是现在国际通用的历法. 一.格式 cal [选项] [参数] 二.功能 显示当前日历年月日,也可以指定显示某年全年日历及时间. 三.命令选项 -h 关闭今天显示的高亮 -j ...

  10. 使用VS2015 编译 64位的boost库

    别人写的编译参考: 目标:使用VS2015 编译 64位的boost库. 一直以来都是在Win32环境下Build和使用boost,但现在基本上每天都在64位Win7下工作,所以很有必要把这几天的经验 ...