lala.im:解决WHMCS下订单时响应慢的问题

運維技術·lala.im · 2017-08-15 · 154 人浏览

原文地址:https://lala.im/786.html,請支持原作者!該處僅作轉載。

最近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 lala.im
Theme Jasmine by Kent Liao