


Example sharing of methods for obtaining WeChat access_token using PHP scheduled tasks
This article mainly introduces the method of obtaining WeChat access_token by PHP scheduled task, involving the related operation skills of PHP dynamically obtaining access_token based on curl and crontab setting scheduled tasks under CentOS. Friends in need can refer to
WeChat The access_token will seem to be slightly different during development. Here we will introduce the method of obtaining WeChat access_token by PHP scheduled tasks.
The WeChat public platform has recently been developed. The public account needs to use access_token when calling each interface. Access_token is the globally unique interface calling credential of the public account and needs to be properly saved during development. The access_token is valid for 7200 seconds. Repeated acquisition will cause the last access_token to become invalid.
Since WeChat limits the number of API calls to obtain access_token, it is recommended that developers store and update access_token globally. Frequent refresh of access_token will result in restricted API calls and affect their own business.
So is there any good solution to access_token storage and refresh? My approach is: schedule the task to refresh regularly to obtain the access_token, and then save the access_token locally on the server. The saving method can be a file, database or cache.
Below I use PHP to obtain the access_token and save it to a local file. Create an access.php with the following code:
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".AppID."&secret=".AppSecret; $result = http_request($url); //生成文件,保存token $dir = __DIR__; //真实路径,crontab命令的php执行在cli模式下,不能正确识别相对路径,所以使用__DIR__ $filename = $dir."/access_token.php"; create_file($filename, $result); function http_request($url,$data = null){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); if (!empty($data)){ curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); curl_close($curl); return $output; } //生成文件 function create_file($filename, $content){ $fp = fopen($filename, "w"); fwrite($fp, "" . $content); fclose($fp); }
The two constants AppID and AppSecret in the above code are provided by the WeChat public platform. You can log in to the WeChat public platform. Obtained from the basic configuration of the platform. The obtained access_token is saved in the file access_token.php. Note that the content of this file should not be accessed by users.
Next, we set up scheduled tasks. We take Linux CentOS as an example and use crontab to set up scheduled tasks.
5 * * * * /usr/local/bin/php -f /home/web/access.php >> /dev/null 2>&1
The above command sets access.php to be executed every hour, that is, at the 05th minute of every hour.
In this way, we can ensure the normal acquisition and use of access_token without having to refresh the WeChat server frequently.
Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.
Related recommendations:
php array_merge_recursive Array merge
PHP XML and array conversion examples Detailed explanation
Example of modifying and deleting XML content with PHP
##
The above is the detailed content of Example sharing of methods for obtaining WeChat access_token using PHP scheduled tasks. For more information, please follow other related articles on the PHP Chinese website!

The article explains how to create, implement, and use interfaces in PHP, focusing on their benefits for code organization and maintainability.

The article discusses the differences between crypt() and password_hash() in PHP for password hashing, focusing on their implementation, security, and suitability for modern web applications.

Article discusses preventing Cross-Site Scripting (XSS) in PHP through input validation, output encoding, and using tools like OWASP ESAPI and HTML Purifier.

Autoloading in PHP automatically loads class files when needed, improving performance by reducing memory use and enhancing code organization. Best practices include using PSR-4 and organizing code effectively.

PHP streams unify handling of resources like files, network sockets, and compression formats via a consistent API, abstracting complexity and enhancing code flexibility and efficiency.

The article discusses managing file upload sizes in PHP, focusing on the default limit of 2MB and how to increase it by modifying php.ini settings.

The article discusses nullable types in PHP, introduced in PHP 7.1, allowing variables or parameters to be either a specified type or null. It highlights benefits like improved readability, type safety, and explicit intent, and explains how to declar

The article discusses the differences between unset() and unlink() functions in programming, focusing on their purposes and use cases. Unset() removes variables from memory, while unlink() deletes files from the filesystem. Both are crucial for effec


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function
