基础运行方法
-
检查PHP CLI是否可用
终端输入(Windows/Linux/macOS通用):php -v
若显示版本信息(如
PHP 8.1.10
),则环境已配置。 -
运行PHP脚本文件
终端导航到脚本目录后执行:php your_script.php
示例:创建
test.php
写入<?php echo "Hello CLI!";
,运行后输出Hello CLI!
。
操作系统差异配置
系统 | 安装方法 | 路径配置 |
---|---|---|
Windows | 从php.net下载ZIP包,解压到C:\php | 添加 C:\php 到系统环境变量PATH |
Linux | 终端执行:sudo apt install php-cli (Debian/Ubuntu)sudo yum install php-cli (CentOS) |
自动配置,无需手动操作 |
macOS | 通过Homebrew安装:brew install php |
安装时自动链接到 /usr/local/bin/php |
常用命令行参数
命令 | 作用 | 示例 |
---|---|---|
php -a |
进入交互式Shell | 直接输入代码如 echo 5+3; 输出 8 |
php -r "代码" |
直接执行单行代码 | php -r "echo date('Y-m-d');" |
php -i |
查看PHP配置信息 | 结合grep过滤:php -i | grep "extension_dir" |
php -m |
列出已加载扩展模块 | 检查扩展是否启用(如redis、mysqli) |
php --ini |
显示加载的配置文件路径 | 定位php.ini文件位置 |
高级应用场景
-
定时任务(Cron Job)
Linux下编辑crontab:crontab -e
添加行(每天6点执行脚本):
0 6 * * * /usr/bin/php /home/user/backup.php
-
脚本传参
脚本内通过$argv
接收参数:// sum.php $sum = $argv[1] + $argv[2]; echo $sum;
运行:
php sum.php 5 7
输出12
。 -
后台守护进程
Linux下使用nohup
:nohup php worker.php > /dev/null 2>&1 &
常见问题解决
-
报错
php: command not found
原因:PHP未加入系统PATH
解决:- Windows:右击【此电脑】→【属性】→【高级系统设置】→【环境变量】→ 编辑PATH添加PHP目录
- Linux/macOS:在终端执行
export PATH=$PATH:/path/to/php
(临时生效)或写入~/.bashrc
(永久)
-
脚本无权限执行
Linux/macOS终端执行:chmod +x script.php # 添加可执行权限
-
中文乱码问题
在脚本开头添加:header('Content-Type: text/html; charset=utf-8');
或终端设置编码:
export LANG=en_US.UTF-8 # Linux/macOS
最佳实践建议
-
使用绝对路径
避免因工作目录错误导致文件找不到:php /var/www/scripts/update_data.php
-
错误日志记录
运行时重定向错误输出:php task.php 2> errors.log
-
性能监控
显示脚本执行时间:time php heavy_process.php
PHP命令行(CLI)是自动化任务、数据处理和服务器维护的高效工具,通过环境配置、参数灵活调用及系统级整合,可显著提升开发效率,定期查阅PHP官方CLI文档获取最新特性。
引用说明参考PHP官方手册命令行使用指南,环境配置部分结合Windows/Linux/macOS系统管理实践,操作示例经PHP 7.4+环境验证,第三方工具(如Homebrew)遵循其官方安装文档。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5885.html