PHP CLI模式允许在终端运行PHP脚本,适用于自动化任务。通过php -v检查环境,使用$argc和$argv接收参数,可实现数据库清理、定时任务等功能,提升效率。

PHP 不只是用来做网页开发的,它同样可以用来编写命令行脚本(CLI),实现自动化任务、定时任务处理、数据导入导出等实用功能。通过 CLI 模式运行 PHP 脚本,可以直接在终端执行,无需 Web 服务器支持。
什么是 PHP CLI 模式
CLI 是 Command Line Interface 的缩写,即命令行接口。PHP 提供了对 CLI 的原生支持,允许开发者直接在操作系统终端中运行 PHP 脚本。
与 Web SAPI 不同,CLI 模式下没有 HTTP 请求头、会话或输出缓冲限制,更适合后台任务处理。
检查你的系统是否支持 PHP CLI:
立即学习“PHP免费学习笔记(深入)”;
php -v如果显示 PHP 版本信息,说明环境已准备就绪。
创建第一个命令行脚本
新建一个文件 hello.php:
echo "Hello from CLI!\n";?>
在终端运行:
php hello.php输出结果为:Hello from CLI!
你可以给脚本添加可执行权限并使用 shebang 注释让其更像本地命令:
#!/usr/bin/env phpecho "Script is running...\n";
?>
保存后赋予执行权限:
本书全面介绍PHP脚本语言和MySOL数据库这两种目前最流行的开源软件,主要包括PHP和MySQL基本概念、PHP扩展与应用库、日期和时间功能、PHP数据对象扩展、PHP的mysqli扩展、MySQL 5的存储例程、解发器和视图等。本书帮助读者学习PHP编程语言和MySQL数据库服务器的最佳实践,了解如何创建数据库驱动的动态Web应用程序。
然后直接运行:
./hello.php接收命令行参数
CLI 脚本常需要传入参数来控制行为。PHP 提供两个全局变量:$argc 和 $argv。
- $argc:参数个数(包括脚本名)
- $argv:参数数组,索引从 0 开始
示例:读取用户输入的名字
if ($argc echo "Usage: php greet.phpexit(1);
}
$name = $argv[1];
echo "Hello, $name!\n";
?>
运行方式:
php greet.php Alice输出:Hello, Alice!
实际应用场景
CLI 脚本非常适合用于以下场景:
例如,写一个简单的数据库清理脚本:
// clear_logs.phprequire_once 'db.php'; // 假设这是数据库连接文件
$days = $argv[1] ?? 30;
$sql = "DELETE FROM logs WHERE created_at $stmt = $pdo->prepare($sql);
$stmt->execute([$days]);
echo "Cleared logs older than $days days.\n";
?>
运行:
php clear_logs.php 7基本上就这些。掌握 PHP CLI 开发后,你可以把重复性工作交给脚本自动完成,提升效率又减少出错。关键是理解参数传递、错误处理和脚本结构设计。不复杂但容易忽略。










