1. 程式人生 > >微信開發token驗證失敗的解決

微信開發token驗證失敗的解決

之前在伺服器上成功部署並驗證已通過,後開換了一個伺服器地址就始終不能通過token驗證,嘗試了網上的很多辦法,包括在
echo $echoStr;前面加上ob_clean();清空快取等等。現在終於定位到原因,原來是在類class wechatCallbackapiTest中我寫了建構函式,並將一些資料庫初始化的程式碼放在了裡面,註釋掉這些程式碼就能獲得驗證通過。具體原因可能是在資料庫初始化的過程中耗時較多,造成token驗證中的時間戳對應不上,造成了token無法通過。現在改寫了我的建構函式,根據收到的訊息傳一個引數給建構函式,選擇性地進行資料庫操作,這樣問題就解決了。如下:
define("TOKEN", "wechat");
$wechatObj = new wechatCallbackapiTest(!
isset($_GET['echostr']));
class wechatCallbackapiTest
{
public function __construct($IsInitMysql = '')
   {
//如果做太多處理會導致校驗失敗。可能是因為耗時導致時間戳對不上了
if($IsInitMysql)
        {
$this->LetcoreMysql = new LetcoreMysql();
希望對在token驗證上困擾的同學有幫助,如果有更好的辦法請指教