跳到主要内容

PHP CLI基础

PHP不仅是一种用于Web开发的脚本语言,还可以通过命令行接口(CLI)运行。CLI模式允许你在终端或命令提示符中直接执行PHP脚本,而无需通过Web服务器。这对于自动化任务、脚本编写和系统管理非常有用。

什么是PHP CLI?

PHP CLI是PHP的命令行接口,它允许你在终端或命令提示符中运行PHP脚本。与通过Web服务器运行的PHP不同,CLI模式不会生成HTML输出,而是直接将结果输出到终端。

如何运行PHP CLI脚本

要运行PHP CLI脚本,你需要确保PHP已安装在你的系统上,并且可以通过命令行访问。你可以通过以下命令检查PHP是否已安装:

bash
php -v

如果PHP已安装,你将看到PHP的版本信息。接下来,你可以创建一个简单的PHP脚本并运行它。

示例:Hello World

创建一个名为 hello.php 的文件,内容如下:

php
<?php
echo "Hello, World!\n";
?>

在终端中运行以下命令来执行脚本:

bash
php hello.php

输出将是:

Hello, World!

PHP CLI的基本用法

1. 传递参数

你可以通过命令行向PHP脚本传递参数。这些参数可以通过 $argv 数组访问。$argc 变量包含传递给脚本的参数数量。

示例:传递参数

创建一个名为 greet.php 的文件,内容如下:

php
<?php
if ($argc > 1) {
echo "Hello, " . $argv[1] . "!\n";
} else {
echo "Hello, World!\n";
}
?>

在终端中运行以下命令:

bash
php greet.php Alice

输出将是:

Hello, Alice!

2. 读取用户输入

你可以使用 fgets(STDIN) 函数从命令行读取用户输入。

示例:读取用户输入

创建一个名为 ask.php 的文件,内容如下:

php
<?php
echo "What is your name? ";
$name = trim(fgets(STDIN));
echo "Hello, $name!\n";
?>

在终端中运行以下命令:

bash
php ask.php

程序将提示你输入名字,然后输出问候语。

3. 处理命令行选项

PHP CLI支持处理命令行选项。你可以使用 getopt() 函数来解析命令行选项。

示例:处理命令行选项

创建一个名为 options.php 的文件,内容如下:

php
<?php
$options = getopt("f:h");
if (isset($options['f'])) {
echo "File: " . $options['f'] . "\n";
} elseif (isset($options['h'])) {
echo "Usage: php options.php -f <file>\n";
} else {
echo "No options provided.\n";
}
?>

在终端中运行以下命令:

bash
php options.php -f myfile.txt

输出将是:

File: myfile.txt

实际应用场景

1. 自动化任务

PHP CLI非常适合用于自动化任务,例如批量处理文件、生成报告或执行定时任务。

示例:批量重命名文件

创建一个名为 rename_files.php 的文件,内容如下:

php
<?php
$directory = "path/to/files";
$files = scandir($directory);
foreach ($files as $file) {
if ($file !== "." && $file !== "..") {
$newName = "new_" . $file;
rename("$directory/$file", "$directory/$newName");
echo "Renamed $file to $newName\n";
}
}
?>

在终端中运行以下命令:

bash
php rename_files.php

该脚本将重命名指定目录中的所有文件。

2. 系统管理

PHP CLI可以用于系统管理任务,例如监控系统资源、管理用户或执行备份。

示例:监控CPU使用率

创建一个名为 monitor_cpu.php 的文件,内容如下:

php
<?php
while (true) {
$cpuUsage = sys_getloadavg()[0];
echo "CPU Usage: $cpuUsage\n";
sleep(5);
}
?>

在终端中运行以下命令:

bash
php monitor_cpu.php

该脚本将每5秒输出一次CPU使用率。

总结

PHP CLI是一个强大的工具,允许你在命令行中运行PHP脚本。通过掌握PHP CLI的基础知识,你可以编写自动化脚本、处理命令行参数、读取用户输入以及执行系统管理任务。

附加资源

练习

  1. 编写一个PHP CLI脚本,接受一个目录路径作为参数,并列出该目录中的所有文件。
  2. 编写一个PHP CLI脚本,接受一个文件名作为参数,并统计该文件中的行数。
  3. 编写一个PHP CLI脚本,接受一个URL作为参数,并使用 file_get_contents() 函数获取该URL的内容并输出。

通过完成这些练习,你将更好地理解PHP CLI的使用方法。