最近LALA写了很多有关WHMCS的教程,但一直都有一个困扰我的问题:每次我下订单的时候,也就是购买产品结算的时候,会卡住很长一段时间,如果PHP超时时间设置的短一点那么就显示503,如果设置的很长,就要等非常长的时间才能响应。
之前我在写WHMCS对接Shadowsocks教程的时候也提到过这个问题,当时我还以为是对接SS的插件有问题。针对这个问题我在网上搜索了很久也找不到解决办法。但是经过我反复测试了很多次下订单这个操作,发现WHMCS好像是必须要让订单的邮件发送成功后才会响应,那么会不会是邮件发送过慢导致的呢?
我没有对WHMCS的发信设置做什么其他的更改,就是默认设置,那么WHMCS应该就是用PHP的函数来发邮件的,而PHP是调用SendMail来发信的,我突然就想到很久前我有一台WEB环境也是SendMail发信慢,原因是SendMail监听的是127.0.0.1,而系统的主机名没有绑定到127.0.0.1上。
既然现在可能找到了问题所在,就赶紧动手试试~
登录自己的机器输入如下命令查看一下hostname情况:
cat /etc/hosts
果不其然,我这台机器的hostname是whmcs,而127.0.0.1没有绑定whmcs这个主机名。果断使用SFTP将hosts文件下载到本地然后使用EditPlus打开,在127.0.0.1后面加上我们的主机名:
将修改好的hosts上传覆盖掉源文件,接着重启SendMail:
service sendmail restart
现在我去WHMCS下订单的速度就正常了,困扰我的问题终于得到解决,就感觉心里一块石头落地般舒服~
博主,用你的方法,有效果,但是感觉还是蛮慢的,······
是WHMCS系统的原因还是?
另外,请问博主,有什么好看的主题用于ss的吗?
还慢的话那是WHMCS的通病,或是主机性能不行。
抱歉,我对WHMCS主题这块没什么研究。