WHMCS 7.5 发布了,它开始支持 PHP 7.2,这里就写个简单的教程记录一下安装方式。

1、准备工作

首先,我们需要按照 在Debian 9 / Debian 8 下使用源安装方式安装 LEMP 一文,安装好 LEMP 环境,可以选一些需要用到的 PHP 7.2 软件包:

  1. 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 目录

  1. wget http://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.zip
  2. unzip ioncube_loaders_lin_x86-64.zip
  3. 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 给复制过去

  1. cp -r ioncube_loader_lin_7.2.so /usr/lib/php/20170718/

对应 PHP 7.1 就是

  1. cp -r ioncube_loader_lin_7.1.so /usr/lib/php/20160303/

对应 PHP 7.0 就是

  1. cp -r ioncube_loader_lin_7.0.so /usr/lib/php/20151012/

然后增加一个 FPM 的模块配置文件

  1. cat >> /etc/php/7.2/mods-available/ioncube.ini << EOF
  2. zend_extension = ioncube_loader_lin_7.2.so

然后给 PHP-FPM 和 PHP-Cli 都增加 ioncube 模块

  1. ln -s /etc/php/7.2/mods-available/ioncube.ini /etc/php/7.2/fpm/conf.d/01-ioncube.ini
  2. ln -s /etc/php/7.2/mods-available/ioncube.ini /etc/php/7.2/cli/conf.d/01-ioncube.ini

然后重启 PHP-FPM

  1. systemctl restart php7.2-fpm

我们来检查一下是否生效

  1. root@debian ~ # php -v
  2. PHP 7.2.3-1+0~20180306120016.19+stretch~1.gbp81bf3b (cli) (built: Mar 6 2018 12:00:19) ( NTS )
  3. Copyright (c) 1997-2018 The PHP Group
  4. Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
  5. with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.2.0, Copyright (c) 2002-2018, by ionCube Ltd.
  6. 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 即可

最后这文件看上去就像这样子

  1. [mysqld]
  2. user = mysql
  3. pid-file = /var/run/mysqld/mysqld.pid
  4. socket = /var/run/mysqld/mysqld.sock
  5. port = 3306
  6. basedir = /usr
  7. datadir = /var/lib/mysql
  8. tmpdir = /tmp
  9. lc-messages-dir = /usr/share/mysql
  10. explicit_defaults_for_timestamp
  11.  
  12. # Instead of skip-networking the default is now to listen only on
  13. # localhost which is more compatible and is not less secure.
  14. bind-address = 127.0.0.1
  15.  
  16. log-error = /var/log/mysql/error.log
  17.  
  18. # Recommended in standard MySQL setup
  19. sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  20.  
  21. # Disabling symbolic-links is recommended to prevent assorted security risks
  22. symbolic-links=0

---------------

  1. [mysqld]
  2. user = mysql
  3. pid-file = /var/run/mysqld/mysqld.pid
  4. socket = /var/run/mysqld/mysqld.sock
  5. port = 3306
  6. basedir = /usr
  7. datadir = /var/lib/mysql
  8. tmpdir = /tmp
  9. lc-messages-dir = /usr/share/mysql
  10. explicit_defaults_for_timestamp
  11.  
  12. # Instead of skip-networking the default is now to listen only on
  13. # localhost which is more compatible and is not less secure.
  14. bind-address = 127.0.0.1
  15.  
  16. log-error = /var/log/mysql/error.log
  17.  
  18. # Recommended in standard MySQL setup
  19. sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
  20.  
  21. # Disabling symbolic-links is recommended to prevent assorted security risks
  22. 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. javaSE web开发 登录思路代码

    准备工作: 1.在WebContent  WEB-INF   lib下添加c3p0-0.9.5.2.jar     mchange-common-java-0.2.11.jar   ojdbc6.ja ...

  2. 大话Linux内核中锁机制之信号量、读写信号量

    大话Linux内核中锁机制之信号量.读写信号量 在上一篇博文中笔者分析了关于内存屏障.读写自旋锁以及顺序锁的相关内容,本篇博文将着重讨论有关信号量.读写信号量的内容. 六.信号量 关于信号量的内容,实 ...

  3. git did not exit cleanly (exit code 1)

    git pull的时候报如下错误: error: Your local changes to the following files would be overwritten by merge: 文件 ...

  4. git add用法

    git add命令是将工作区内容添加到暂存区.git commit 将暂存区内容添加到版本库. git add -A  提交所有变化 git add -u  提交被修改(modified)和被删除(d ...

  5. ubuntu下USB口插入USB转TTL查看串口号

    首先先要获取权限 sudo su 然后 cd /devls ls可以列出所有的串口号(确保此时USB转TTL已经插在电脑上了) 然后拔掉USB转TTL 在ls一下列出所有的串口设备 对比可以发现,插上 ...

  6. sql-case when 条件1 then 取值1 when 条件2 then 取值2 else 取值3 end

    遇到 XXX情况 就 XXX 遇不到就 XXX 结束case when …… then …… else …… end 例如一个3条件取值的字段: case when 条件1 then 取值1 when ...

  7. Linux-- su和sudo 切换用户

    su 切换用户 用法:su [选项] [-] [用户 [参数]... ] - :以 login-shell 方式进行登录 不加 - :以 no-login-shell 方式进行登录 -c:只进行一次在 ...

  8. [iOS]CIDetector之CIDetectorTypeFace人脸识别

    - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...

  9. pyntho经典面试题

    Python基础篇 1:为什么学习Python 2:通过什么途径学习Python 3:谈谈对Python和其他语言的区别 Python的优势: 4:简述解释型和编译型编程语言 5:Python的解释器 ...

  10. 前端基础-HTTP协议

    一. HTTP协议简介 二. HTTP协议之请求Request 三. HTTP协议之响应Response 四. HTTP协议完整工作流程 五. HTTP协议关键性总结 六.自定义套接字分析HTTP协议 ...