Home Backend Development PHP Tutorial How to solve the problem of PHP scheduled sending service

How to solve the problem of PHP scheduled sending service

Jun 15, 2018 am 11:38 AM
php Send regularly

This article mainly introduces the solution to the PHP scheduled sending service. Friends who need it can refer to it

##1. Timed sending task analysis

When developing mobile APP or WeChat, there are often scenarios where messages need to be pushed regularly.

Scheduled sending is divided into two types:

One is to fix the time during development, and the background manager can only choose the messages to be pushed;

The other is that the background administrator can freely choose the time and message to push;

2. Solution

PHP itself is Scheduled sending is not supported because PHP is a scripting language. In most cases, the browser is closed and PHP will not execute. Most of the time it relies on some little external thing.

 

1. Fixed time

Most server systems are windows or linux.

Linux: Use CronTab to execute php regularly

First, enter the command line mode. As a server, Linux generally enters the command line mode by default. Of course, our management server also generally connects to the server remotely through tools such as putty. For convenience, we log in as the root user. Type in the command line:

 crontab -e
Copy after login

After that, a file will be opened, and it is in a non-editing state. It is the editing interface of vi. By pressing i on the keyboard , enter the editing mode, and you can edit the content. Each line in this file is a scheduled task. When we create a new line, we create a new scheduled task (of course it means that this line is written in a certain format). Let's take an example now and add a line with the following content:

00 * * * * lynx -dump https://www.yourdomain.com/script.php
Copy after login

What does this mean? In fact, the above line consists of two parts, the first part is the time, and the latter part is the operation content. For example, the above one,

00 * * * *
Copy after login

, means that when the minutes of the current time are 00, the scheduled task will be executed. The time part consists of 5 time parameters, which are:

                                         n minutes, for example */8 means every 8 minutes, and the following is also analogous

                                                                       ''                                                                       wealth Numbers ’ means every 8 minutes | The following is also the same analogy

                              」   iety The column represents the month 1~12

                                                   credulous , The fifth column identifies the day of the week 0~6 (0 represents Sunday]

                                                        ccogate us us in the identification number of the week 0~6 (0 represents Sunday)

The last part of the entire sentence is the specific content of the operation.

lynx -dump https://www.yourdomain.com/script.php
Copy after login

It means accessing this url through lynx. We mainly use lynx, curl, and wget to achieve remote access to URLs. If we want to improve efficiency, directly using PHP to execute local PHP files is the best choice, for example:

00 */2 * * * /usr/local/bin/php /home/www/script.php
Copy after login

This statement can execute script.php through the Linux internal php environment at 0 minutes every 2 hours. Note that this is not accessed through the url, but executed through the server environment. It is executed directly, because it bypasses the server environment, so the efficiency is of course much higher.

     Okay, a few required scheduled tasks have been added. Click the Esc key on the keyboard, enter ":wq" and press Enter. This saves the set scheduled task, and you can also see a prompt on the screen that a new scheduled task has been created. The next step is to write your script.php properly.

Windows:


There is a similar cmd and bat file on Windows and Linux. The bat file is similar to a shell file. Executing this bat file is equivalent to executing the commands inside in sequence (of course, you can also Programming is implemented through logic), so we can use the bat command file to implement PHP scheduled tasks on the windows server. In fact, the principle of scheduled tasks on Windows is the same as that on Linux, but the methods and approaches are different. Okay, let’s get started.

                                   cessoverly\/

#
D:\php\php.exe -q D:\website\test.php
Copy after login

What this sentence means is that using php.exe to execute the php file test.php is the same as the contab above, bypassing the server environment, and the execution efficiency is also relatively high high. After writing, click Save and close the editor.

The next step is to set up a scheduled task to run cron.bat. Open in sequence: "Start -> Control Panel -> Task Schedule -> Add Task Schedule", set the time and password of the scheduled task in the opened interface, and mount cron.bat by selecting it. OK, in this way, a scheduled task is created. Right-click on the scheduled task and run. The scheduled task will start to be executed. When the time is up, cron.bat will be run for processing, and cron.bat will execute php.

2. Freely choose the time

The commonly used blogging system wordpress has a wp-corn file to perform scheduled posting of blogs. The blogger uses wp-corn as the prototype to write a file.

  wp-corn is a strategy that consumes server resources very much. When everyone visits the blog, the wp-corn file will be called (read the current server time and determine whether to send it). The disadvantage is that it cannot be sent in time when the number of visitors is relatively small. If there are too many visitors, the server performance will be reduced.

When the blogger was working on the project, the company provided a windows server. The method used is to open a page on the server and automatically refresh it every minute (simple js script, no code is provided).

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:

PHP’s predefined interface analysis

# #

The above is the detailed content of How to solve the problem of PHP scheduled sending service. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

How To Set Up Visual Studio Code (VS Code) for PHP Development How To Set Up Visual Studio Code (VS Code) for PHP Development Dec 20, 2024 am 11:31 AM

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

7 PHP Functions I Regret I Didn't Know Before 7 PHP Functions I Regret I Didn't Know Before Nov 13, 2024 am 09:42 AM

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.

See all articles