静看光阴荏苒
不管不顾不问不说也不念

解决WHMCS整合EasyPanel开虚拟主机不能切换PHP版本的问题

前两天写了一篇《WHMCS整合EasyPanel实现自动开通销售虚拟主机》的教程,在解决了一堆坑之后,还有一个巨坑没填:默认开通的虚拟主机PHP版本是5.3.3,这个版本存在严重的安全漏洞!并且已经开通的虚拟主机用户无法通过前台面板切换PHP版本,就连管理员在后台面板都无法切换。

先来简要分析一下这个坑形成的原因:

因为EasyPanel的空间模板中有两个样式,一个是“旧格式”一个是“PHP”。如果在创建虚拟主机的时候使用的模板是“PHP”则用户在前台看到的切换PHP那块功能是异常的,切换的版本那里会显示空白,如果选中空白并切换那么就不解析PHP脚本了,也就是说根本不能切换,只能使用默认的PHP5.3.3。这明显是EasyPanel的一个BUG。反之如果我们在创建虚拟主机的时候选择的模板是“旧格式”并指定一个PHP版本,那么用户在前台干脆就没有切换PHP版本的下拉菜单了,也就是根本就没有这个功能了,自然还是不能切换。而又因为我们之前使用的WHMCS接口,在空间类型上只能选择“PHP”模板,也就导致了这个问题的发生。

LALA今天仔细研究了一下,找到了一个最佳的解决方案,下面来分享给大家~

首先不能使用我之前文章中的那个WHMCS接口,要用我在本文发布的这个接口,下载地址:

http://0o0.lol/index.php/s/irAbXOy1N82KUdf

这个接口和之前的那个接口最大的区别就在于这个接口可以开通“旧格式”的空间。

现在我们登录EasyPanel的后台,点击“产品列表”-“增加产品”如图:

在新页面中输入你的产品名称,并设定好空间和数据库的大小,在模块这里一定要选择“无(旧格式)”,接着在语言下拉菜单那里选择php,并将后面的默认引擎改成php5630,如图:

点击显示其他高级选项,在这里可以填写更多的信息,这些你们就自己按需填写即可:

全部都确认填写好后点击“确认提交”即可。

现在来到WHMCS这边,安装好我之前给你们准备好的接口,看到接口设置这里,在这个接口设置中我们只用填写“产品名称”,其他什么都不用填写。产品名称就是我刚才让你们在EasyPanel中新增产品的那个产品名称,一定要填写一模一样的。

现在来测试开通一个虚拟主机,你们可能会出现类似这样的问题,在往虚拟主机目录中上传文件的时候提示目录没有权限之类的。这也是EasyPanel的一个BUG,解决办法是登录你的VPS或者服务器输入如下命令:

chmod -R 777 /home/ftp/

注意上述命令一定要在你自己先通过WHMCS下订单创建好一个虚拟主机后再输入,并且这个命令也无法解决你当前创建的这个虚拟主机目录权限问题。它的作用只是解决以后其他用户的虚拟主机目录不在出现此类问题。说白了就是你自己要先创建一个虚拟主机,然后输入这个命令来解决以后创建的虚拟主机不再出这种问题。切记这一步操作非常重要,一定要做!否则以后用户在你WHMCS下单的虚拟主机都是没有权限的,并且也无法再次修改。

现在我们再重新通过WHMCS购买一台虚拟主机,然后上传一个探针看下空间环境是否正常:

现在来修复EasyPanel用户无法切换PHP版本的BUG。

首先使用Xshell登录你的VPS或者服务器,进入到这个目录下:

/vhs/kangle/nodewww/webftp/vhost/view/default/

将这个目录中的kfinfo.html文件下载到本地并用EditPlus打开,删除如图中的两段代码:

上传修改好的kfinfo.html覆盖掉原文件即可。现在来看看用户前台是否可以显示切换PHP的选项了:

尝试切换一下,然后看看探针信息是否切换成功:

注:EasyPanel中显示的PHP52实际上就是PHP5.3.3,这是EasyPanel的一个显示BUG。

至此,Kangle和EasyPanel挖给我大大小小的坑就算全部填完了吧,现在可以使用这套系统开始卖虚拟主机了,又一个小学生IDC要诞生了?233

另外给大家附上EasyPanel官方的各个PHP版本安装脚本:

【php插件】easypanel php-5.5.38 for linux版 (集成zend和ioncube)

wget http://download.kangleweb.com/misc/php-5.5.38/php5538-ep.sh -O php5.5.38.sh;sh php5.5.38.sh

【php插件】easypanel php-5.6.30 for linux版 (集成zend和ioncube)

wget http://download.kangleweb.com/misc/php-5.6.30/php5630-ep.sh -O php5.6.30.sh;sh php5.6.30.sh

【php插件】easypanel php-7.1.6 for linux版 (集成zend和ioncube)

wget http://download.kangleweb.com/misc/php-7.1.6/php716-ep.sh -O php7.1.6.sh;sh php7.1.6.sh

LALA的后话:

首先别太相信官方给各位准备的这些PHP版本说是集成了zend和ioncube,实际上可能还需要自己手动安装。其次记得将你安装的各个PHP版本中的php.ini做函数禁用的操作,如果不做限制,可能会出现各种安全问题。最后还是提醒一下各位EasyPanel已经快2年没更新了,不确定是否已经存在安全漏洞。

赞(0) 打赏
未经允许不得转载:荒岛 » 解决WHMCS整合EasyPanel开虚拟主机不能切换PHP版本的问题
分享到: 更多 (0)

评论 8

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    你好,之前也遇到过这个问题。今天看到博主这篇文章打算自己记录一下。可以转载本文并适当更改吗?

    梦醒逃荒岛10个月前 (08-15) Google Chrome 59.0.3071.86 Google Chrome 59.0.3071.86 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 可以,没问题。话说咱们两个的小站名字有点相似233

      LALA10个月前 (08-15) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
      • Thanks,哈哈。逃到你这来

        梦醒逃荒岛10个月前 (08-17) Google Chrome 59.0.3071.86 Google Chrome 59.0.3071.86 Windows 10 x64 Edition Windows 10 x64 Edition回复
        • 第一次看到你博客名字的时候,我也是这么想的,真的。。。看来这都是缘分 :razz:

          LALA10个月前 (08-17) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  2. #2

    你好,我在whmcs7.2.3系统上面无法使用此插件。好像只能在whmcs6才能用,能否更新支持下whmcs7

    shuai9个月前 (09-30) Google Chrome 61.0.3163.100 Google Chrome 61.0.3163.100 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 你自己在网上找一下同类型的插件吧,我记得是有支持WHMCS7的。

      LALA9个月前 (09-30) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
      • 有支持WHMCS7的 ,但是试了下不能切换PHP版本

        shuai9个月前 (09-30) Google Chrome 61.0.3163.100 Google Chrome 61.0.3163.100 Windows 10 x64 Edition Windows 10 x64 Edition回复
        • 这就有点蛋疼了老哥。我也不是很懂PHP,这插件也不是我写的,这个我真的无能为力。。。

          LALA9个月前 (09-30) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复

分享创造快乐

广告合作资源投稿

觉得文章有用就请我吃包薯片吧

支付宝扫一扫打赏