记得前段时间因为升级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
    &paramname=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:

    Xiaoge ZhongClient

    I was suppose to hope this 7.1.1 to 7.1.2 will fix that eNom domain DNS management bug, but after I spent so many hours I got nothing but disappointment.

    23rd Feb 2017 (20:27)
    Xiaoge ZhongClient

    I have no choice but downgrade to WHMCS 7.1.1, although there will be one more strange number record in DNS management as I had already reported to you in my last ticket, but it was working, I am a little bit Disappointed to your tech support, it didn’t help us a lot,hope you can improve support service.

    23rd Feb 2017 (18:12)
    Xiaoge ZhongClient

    You mean that eNom has returned the right records, but my whmcs front end can’t show them correctly?

    23rd Feb 2017 (18:07)
    Xiaoge ZhongClient

    Your reply was still not helping, according to your experience, could you give me some suggestion about this issue, I mean what will cause this issue? I had try to use the new theme and still not working.

    正是以上四条不满的投诉ticket换来了WHMCS官方足够的重视,直接提供了一个紧急修复补丁过来如下:

    Hello Xiaoge,

    I’m pleased to advise that we have an immediate fix available and I am attaching it to my reply. Please unzip this attachment and place the files in your WHMCS directory. If asked to overwrite any files please do. For reference we’ve assigned this particular issue within WHMCS a case number, CORE-10925.

    When the hotfix is deployed, please check if eNom now displays all the values in client area – I would appreciate it if you could confirm this solved the issue on your install. If you have any other issues or questions please don’t hesitate to let me know.

    Best regards,


    Marcus Allen
    Technical Analyst I
    WHMCS, Ltd.
    http://whmcs.com

    这个压缩包分享给大家:

    [download id=”11752″]

    至此此次升级总算圆满结束,得出一个结论就是,发现问题一定有有理有据的去投诉反馈,否则坐等官方来发现和修复,不知道要延迟多久的时间。