Home > Article > Backend Development > About the reasons and solutions for failed verification of the WeChat public account token in Thinkphp5
The following will bring you an article about the reasons and solutions for unsuccessful token verification of Thinkphp5 WeChat public account. The content is quite good, so I will share it with you now and give it as a reference.
I have recently started a WeChat project. I started to understand the development of WeChat last month. I will start the project this month, but the configuration of WeChat official account information has been failing. To this end, I even manually wrote the records submitted by WeChat, such as:
×tamp=1510210523&nonce=2414550015&signature=30b9eeb6b1134d0a53623375c48ca734c41facb5&echostr=6863786913073725439
I The verification information is correct by looking at it, the output echostr It is exactly the same as what was submitted by get, but an error will still occur. I can't bear it anymore, and I haven't been able to get it done.
Doing development by yourself is basically the way to go. I am still suffering from this pitfall, and I am a little dissatisfied. Finally, I checked the logs and solved it bit by bit.
The following is my solution to the problem:
1. Some people on the Internet said that the header needs to be set to utf-8, and I have also set it. No;
2. Some people say that there may be no log writing permission, which causes the information to be normal, but the page code is not normal. When I open the console, I find that the page header displays 500, Ma Dan, this is a server error.
It is estimated that once Tencent determines your 500 code, it will not continue.
After a final check, I found that my server log directory did not have enough permissions to write the log!
This is the reason why I wasted many hours.
Finally, I share the token for verifying the WeChat official account with all brothers, hoping that you will not step into the trap.
$token='请填写你的公众号token'; $timestamp = $_GET[‘timestamp']; $nonce = $_GET[‘nonce']; $signature = $_GET[‘signature']; $array = array($timestamp,$nonce,$token); sort($array); //2.将排序后的三个参数拼接后用sha1加密 $tmpstr = implode(”,$array); $tmpstr = sha1($tmpstr); //3. 将加密后的字符串与 signature 进行对比, 判断该请求是否来自微信 if($tmpstr == $signature) { echo $_GET[‘echostr']; } return false;
In addition, I would like to remind all brothers that it would be better to configure the configuration information in the WeChat test account. Even if it is wrong, there is no need to scan the QR code every time, which is tiring.
The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!
Related recommendations:
About ThinkPHP controller analysis
Analysis on ThinkPHP watermarking and setting watermark position
The above is the detailed content of About the reasons and solutions for failed verification of the WeChat public account token in Thinkphp5. For more information, please follow other related articles on the PHP Chinese website!