记得前段时间因为升级WHMCS导致错误,还专门写了一篇文章:WHMCS 7.1.1 升级经验总结 ,这篇文章详细记录了WHMCS从6.*升级到7.1.1的痛苦经历,简直苦不堪言,经过了几个小时的折腾最后总算升级上去了,但是留下了一个致命的bug,发现前台eNom域名的DNS管理界面始终多一条包含数字的莫名其妙的记录如下:
提交工单给WHMCS技术客服以后,给到的答复如下:
Hi Xiaoge,
Thanks for contacting WHMCS. I’ve been able to replicate this issue on my end as well, it appears eNom have made some kind of change to their API. As such I have opened case #CORE-10857 is open with our developers in order to have this reviewed for future releases. Whilst I cannot provide an estimated time for completion for this, once we resolve cases and push features they are available at our change log, here:
http://changelog.whmcs.com/
I apologize for the inconvenience, and appreciate your patience as we work to resolve this.
Thanks again for taking the time to report your findings. We welcome such reports at http://bugs.whmcs.com/
Best Regards,
—
John Kipling
Technical Support Supervisor
WHMCS, Ltd.
http://whmcs.com
看完发现全是套路,简而言之就是WHMCS官方承认这个是一个BUG,但是就是不给你解决,只能等下一次更新,而且下一次更新是否解决也不给保证,于是最终选择了妥协,多一条带数字的记录反正也不影响功能,忍了吧,满怀希望的等下一次更新,于是几天后终于等来了7.1.2的更新,基于对WHMCS的信任,毫不怀疑的点击了升级,升级过程很流畅,升级完成,满怀希望的打开前台发现,虽然那条数字的记录没了,但是这回更坑爹了,每个域名无论你原来有多少条解析记录,通通都只剩余一条A记录,而且无法新增,这样以后,基本对于客户来说域名解析记录的功能就废了,压根无法工作了。
于是又一次提交工单给WHMCS,这次给予的回复如下:
Hello Xiaoge,
Thank you for that.
I have enabled module debugging temporarily, and then replicated the issue. You can review the logged data via your Admin Area at Utilities > Logs > Module Debug Log .
Here, you can see that we’re using the gethosts function provided by eNom’s API to return the host records for the domain name. You can review eNom’s documentation for this function at https://www.enom.com/api/API%20topics/api_GetHosts.htm
Here is the API your WHMCS installation is sending to eNom:
uid=********&pw=****************&tld=org&sld=eastdesign&command=gethosts&ResponseType=XML&Engine=WHMCS7.1&
This bit is added to the end of the URL used to connect to eNom’s services. You’ll notice that this matches the format provided by eNom’s documentation. Here is the sample they provide detailing how to build the URL:
command=nameofcommand&uid=yourloginid&pw=yourpassword
¶mname=paramvalue&nextparamname=nextparamvalue
Now, here is the API response that eNom is providing:
<?xml version="1.0" encoding="utf-8"?><interface-response><host><name><![CDATA[www]]></name><type>A</type><address><![CDATA[45.33.45.201]]></address><hostid>369201857</hostid></host><host><name><![CDATA[@]]></name><type>A</type><address><![CDATA[45.33.45.201]]></address><hostid>369201858</hostid></host><DomainServices><EmailForwarding></EmailForwarding><HostRecords></HostRecords></DomainServices><DomainLimits><HostsRecordLimit>50</HostsRecordLimit><MailForwardLimit>100</MailForwardLimit></DomainLimits><HostRecordCount>2</HostRecordCount><MxRecordCount>5</MxRecordCount><Command>GETHOSTS</Command><APIType>API.NET</APIType><Language>eng</Language><ErrCount>0</ErrCount><ResponseCount>0</ResponseCount><MinPeriod>1</MinPeriod><MaxPeriod>10</MaxPeriod><Server>sjl0vwapi12</Server><Site>eNom</Site><IsLockable /><IsRealTimeTLD /><TimeDifference>+0.00</TimeDifference><ExecTime>0.073</ExecTime><Done>true</Done><TrackingKey>34810718-7f61-4c84-ac2b-e3483b61b934</TrackingKey><RequestDateTime>2/23/2017 11:12:28 AM</RequestDateTime><debug /></interface-response>
Here you can see that eNom is furnishing two A records; one for **www*, and one without a name value.
If you feel the information being returned by eNom is not correct, then you will want to contact them so that they can investigate why their API is returning this data.
If they advise of any configuration changes that need to be made to WHMCS itself, then please let us know.
Best regards,
—
Nathan Lierbo
Technical Analyst I
WHMCS, Ltd.
http://whmcs.com
通篇看下来,这次没有用套话敷衍我,确实告知了我如何通过WHMCS自带的module工具进行检测BUG,然后最终的结果就是eNom返回的记录正确,但是前台显示不对我们也不知道什么原因,最好去问问eNom官方,我勒个去,又把皮球踢回给了eNom,至此我对WHMCS官方的技术客服非常的失望,于是回复了如下四条的投诉ticket: