


Using crontab to execute PHP scripts regularly under Linux_PHP tutorial
This method is urgently needed recently, record it and try it when you have time^^
Under linux, you can use crontab + php method:
1. Use crontab –e to edit scheduled tasks
The content is:
xx:xx:xx execute a test.php file
2. The php file must be in the first line of the file, plus the interpreter path (just like perl does)
#!/usr/local/bin/php
The execution of PHP requires the support of Apache, the execution of shell script requires the support of Linux, and Linux supports the function of running a certain program regularly
------------------------------------------------ ----------------
Use PHP as a Shell scripting language (reprint)
--English original: Darrell Brogdon, published at http://www.phpbuilder.com/columns/darrell20000319.php3)
Many people may have thought about using PHP to write some programs such as scheduled mailing, but there is no way to execute PHP regularly. When I went to PHPBuilder, I found this article, so I wanted to translate it for everyone (do it at the same time (with some modifications), I hope it is useful to everyone.
------------------------------------------------ ----------------------------------
We all know that PHP is a very good dynamic web development language (fast speed, short development cycle...). But only a few people realize that PHP can also be used as a language for writing Shell scripts. When PHP is used as a language for writing Shell scripts, it is not as powerful as Perl or Bash, but it has good advantages. Especially for people like me who are familiar with PHP but not very familiar with Perl.
To use PHP as a shell scripting language, you must compile PHP as binary CGI instead of Apache mode; PHP compiled into binary CGI mode has some security issues. For solutions, see the PHP manual ( http://www.php.net).
You may feel uncomfortable writing Shell scripts at first, but you will get better gradually: the only difference between using PHP as a general dynamic web page writing language and as a Shell script language is that a Shell script needs to be written first Xingsheng explains the program path of this script:
#!/usr/local/bin/php -q
We added the parameter "-1" after the PHP execution file, so that PHP will not output HTTPHeader (if you still need to use it as a dynamic web page on the Web, then you need to use the header function to output HTTPHeader yourself). Of course, you still need to use PHP’s opening and closing tags in the Shell script:
Now let’s look at an example to better understand the use of PHP as a shell scripting language:
#!/usr/local/bin/php -q
print("Hello, world! ");
?>
The above program will simply output "Hello, world!" to the monitor.
1. Pass the Shell script running parameters to PHP:
As a Shell script, you often add some parameters when running the program. When PHP is used as a Shell script, it has an embedded array "$argv". Using the "$argv" array can easily read the shell script when it is running. parameters ("$argv[1]" corresponds to the first parameter, "$argv[2]" corresponds to the second parameter, and so on). For example, this program:
#!/usr/local/bin/php -q
$first_name = $argv[1];
$last_name = $argv[2];
printf("Hello, %s %s! How are you today? ", $first_name, $last_name);
?>
The above code requires two parameters when running, namely last name and first name. For example, run like this:
[dbrogdon@artemis dbrogdon]$ scriptname.ph Darrell Brogdon
The Shell script will output on the monitor:
Hello, Darrell Brogdon! How are you today?
[dbrogdon@artemis dbrogdon]$
When PHP is used as a dynamic web page writing language, it also contains the "$argv" array, but there are some differences: when PHP is used as a Shell script language, "$argv[0]" corresponds to the file name of the script. , and when used for dynamic web page writing, "$argv[1]" corresponds to the first parameter of QueryString.
2. Write an interactive Shell script:
If a Shell script just runs by itself and loses interactivity, then it is meaningless. When PHP is used to write Shell scripts, how to read user input information? Unfortunately, PHP itself does not have functions or methods to read user input information, but we can follow the example of other languages and write a function to read user input information. Function "read":
Function read() {
$fp = fopen(/dev/stdin, r);
$input = fgets($fp, 255);
fclose($fp);
return $input;
}
?>
It should be noted that the above function can only be used on Unix systems (other systems need to make corresponding changes). The above function will open a file pointer, then read a line of no more than 255 bytes (that's what fgets does), then close the file pointer and return the read information.
Now we can use the function "read" to modify the program 1 we wrote earlier to make it more "interactive":
#!/usr/local/bin/php -q
Function read() {
$fp = fopen(/dev/stdin, r);
$input = fgets($fp, 255);
fclose($fp);
return $input;
}
print("What is your first name? ");
$first_name = read();
print("What is your last name? ");
$last_name = read();
print(" Hello, $first_name $last_name! Nice to meet you! ");
?>
Save the above program and run it. You may see something unexpected: the last line of input becomes three lines! This is because the information returned by the "read" function also includes the user Ending newline character for each line " " is retained in the first and last names. To remove the trailing newline character, you need to modify the "read" function:
Function read() {
$fp = fopen(/dev/stdin, r);
$input = fgets($fp, 255);
fclose($fp);
$input = chop($input); // Remove trailing blanks
return $input;
}
?>
3. Include Shell scripts written in PHP in Shell scripts written in other languages:
Sometimes we may need to include Shell scripts written in PHP in Shell scripts written in other languages. It’s actually very simple. Here is a simple example:
#!/bin/bash
echo This is the Bash section of the code.
/usr/local/bin/php -q << EOF
print("This is the PHP section of the code ");
?>
EOF
In fact, it is to call PHP to parse the following code and then output it; then, try the following code again:
#!/bin/bash
echo This is the Bash section of the code.
/usr/local/bin/php -q << EOF
$myVar = PHP;
print("This is the $myVar section of the code ");
?>
EOF
It can be seen that the only difference between the two codes is that a variable "$myVar" is used the second time. Try running it, and PHP actually gives an error message: "Parse error: parse error in - on line 2" !This is because the variables in Bash are also "$myVar", and the Bash parser replaces the variables first. To solve this problem, you need to add the "" escape character in front of each PHP variable, then The code just now is modified as follows:
#!/bin/bash
echo This is the Bash section of the code.
/usr/local/bin/php -q << EOF
$myVar = PHP;
print("This is the $myVar section of the code ");
?>

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

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

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

DeepSeek is a powerful intelligent search and analysis tool that provides two access methods: web version and official website. The web version is convenient and efficient, and can be used without installation; the official website provides comprehensive product information, download resources and support services. Whether individuals or corporate users, they can easily obtain and analyze massive data through DeepSeek to improve work efficiency, assist decision-making and promote innovation.

There are many ways to install DeepSeek, including: compile from source (for experienced developers) using precompiled packages (for Windows users) using Docker containers (for most convenient, no need to worry about compatibility) No matter which method you choose, Please read the official documents carefully and prepare them fully to avoid unnecessary trouble.

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

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

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

BITGet is a cryptocurrency exchange that provides a variety of trading services including spot trading, contract trading and derivatives. Founded in 2018, the exchange is headquartered in Singapore and is committed to providing users with a safe and reliable trading platform. BITGet offers a variety of trading pairs, including BTC/USDT, ETH/USDT and XRP/USDT. Additionally, the exchange has a reputation for security and liquidity and offers a variety of features such as premium order types, leveraged trading and 24/7 customer support.

Ouyi OKX, the world's leading digital asset exchange, has now launched an official installation package to provide a safe and convenient trading experience. The OKX installation package of Ouyi does not need to be accessed through a browser. It can directly install independent applications on the device, creating a stable and efficient trading platform for users. The installation process is simple and easy to understand. Users only need to download the latest version of the installation package and follow the prompts to complete the installation step by step.
