ecshop微信token驗證失敗 解決方法
下面這些解決方法是通過某官方給出 的解決方法,然而
遇見所有方法都用上了,還是沒辦法解決問題
看下
一:ec系統安裝時php環境版本最佳是5.2或5.3,如果你的php版本>5.3(這個很重要)
下面問題來了
allow_call_time_pass_reference
在函式呼叫時引數被按照引用傳遞時是否發出警告。此方法已不被贊成並在 PHP/Zend 未來的版本中很可能不再支援。
5.4.0 | 從 PHP 中移除。 |
要麼降php版本到5.2 或 5.3
降不了版本的情況是下面
二:CentOS 7.X系列已不支援php 5.2/5.3的版本,如要使用5.2/5.3的老版本,要使用6.X的OS
這時無法降版本,安裝官方說所加入allow_call_time_pass_reference = On行不通的情況下,那麼
就直接修改程式碼
當我們這樣使用函式(或者類)的話,會產生一個error: foo(&$var); 實際上,這樣用本來就是錯的,只是之前的錯誤級別僅僅是Deprecated而已。 而正確的使用方法應該是在函式定義時: function foo(& $var) { //other code } 而在呼叫時直接傳參就行了: foo($var);就安裝上面形式找到類似使用的位置進行修改,就可以了
小jd的問題在這個函式的引用上
$api->keywordsToKey(
針對客戶在對接微信公眾號時,微信公眾號提交開發者時,提示token驗證失敗錯誤,測試處理方法:
首先,確認域名是否備案成功,不是正式域名是不能支援配置的。
其次,檢查伺服器上是否安裝:網站安全狗,360安全衛士,防火牆等軟體,此類軟體必須關閉。
第三,微信Token與後臺填寫的Token不一致,一般預設設定為:qphp。
第四,mobile目錄下weixin資料夾以及子檔案需要“777”許可權。
第五,在mobile/weixin/index.php檔案下增加程式碼:echo $_GET['echostr'];exit;,如圖:(注意:提交成功後撤銷剛才新增的程式碼)
第六,可能微信伺服器的響應存在快取,微信公眾平臺上多次提交微信或更換瀏覽器再次提交。
第七,檢視下邊檔案的編碼格式:weixin資料夾下的index.php、 wechat.class.php ,注意編碼格式要UTF-8的編碼格式。
,針對linux伺服器需要修改php.ini配置檔案:
1. 在PHP.ini中搜索關鍵字 : allow_call_time_pass_reference 沒有的自行建立。
2. 將 Off 改成 On ,Web Server重起就OK了,結果如下:
allow_call_time_pass_reference = Off 變成 allow_call_time_pass_reference = On。
動手行動吧!