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 -v如果显示 PHP 版本信息,说明环境已准备就绪。
创建第一个命令行脚本
新建一个文件 hello.php:
echo "Hello from CLI!\n";?>
在终端运行:
php hello.php输出结果为:Hello from CLI!
你可以给脚本添加可执行权限并使用 shebang 注释让其更像本地命令:
#!/usr/bin/env phpecho "Script is running...\n";
?>
保存后赋予执行权限:
chmod +x hello.php然后直接运行:
./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 脚本非常适合用于以下场景:
- 数据库备份或数据迁移
- 批量处理用户数据(如发送通知)
- 定时任务(配合 crontab)
- 日志分析工具
- API 数据同步
例如,写一个简单的数据库清理脚本:
// 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 开发后,你可以把重复性工作交给脚本自动完成,提升效率又减少出错。关键是理解参数传递、错误处理和脚本结构设计。不复杂但容易忽略。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











