在Windows命令行中运行PHP是开发过程中常见的操作,无论是执行脚本、调试代码还是管理项目,掌握这一技能都能提升工作效率,以下是关于Windows命令行运行PHP的详细指南,包括环境准备、基本操作、常见场景及问题解决。

环境准备
在命令行运行PHP前,需确保PHP已正确安装并配置环境变量,具体步骤如下:
- 安装PHP:从PHP官网(https://windows.php.net/download/)下载适合Windows的PHP版本(如PHP 8.x),选择Thread Safe(TS)版本,因其与Apache和IIS的兼容性更好,下载后解压到固定目录,如
C:\php
。 - 配置环境变量:右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,在“系统变量”中找到
Path
变量,点击“编辑”并添加PHP的安装目录(如C:\php
),这样即可在任意命令行目录中调用PHP。 - 验证安装:打开命令提示符(CMD)或PowerShell,输入
php -v
,若显示PHP版本信息,则表示安装成功。
基本命令行操作
运行PHP脚本
假设有一个名为test.php
的脚本,内容如下:
<?php echo "Hello, World!"; ?>
在命令行中,通过以下方式运行:
php C:\path\to\test.php
或切换到脚本所在目录后直接执行:

cd C:\path\to php test.php
常用PHP命令行选项
PHP命令行工具支持多种选项,以下为常用参数:
| 选项 | 描述 | 示例 |
|------|------|------|
| -f
| 解析并运行指定文件 | php -f test.php
|
| -r
| 直接运行PHP代码(无需<?php ?>
标签) | php -r "echo date('Y-m-d');"
|
| -l
| 语法检查 | php -l test.php
|
| -a
| 交互式模式(REPL) | php -a
|
| --ini
| 显示php.ini配置文件路径 | php --ini
|
输入输出重定向
命令行支持输入输出重定向,
php test.php > output.txt # 将输出写入文件 php test.php < input.txt # 从文件读取输入 php test.php 2> error.log # 将错误信息写入日志
高级场景应用
交互式模式(REPL)
在命令行输入php -a
进入交互模式,可直接执行PHP代码并查看结果,适合快速测试片段代码:
php > $a = 10;
php > $b = 20;
php > echo $a + $b;
30
php > exit
后台运行脚本
若需长时间运行脚本(如定时任务),可使用start
命令或重定向到日志文件:

start /B php long_running_script.php php long_running_script.php > log.txt 2>&1
结合批处理文件
创建.bat
文件(如run_php.bat
)简化操作:
@echo off php C:\path\to\script.php pause
双击即可运行脚本并保持窗口显示结果。
常见问题解决
-
“php不是内部或外部命令”错误
原因:PHP未添加到系统环境变量Path
中。
解决:参照“环境准备”部分重新配置Path
变量,并重启命令行工具。 -
脚本执行权限问题
原因:脚本路径包含中文或特殊字符,或权限不足。
解决:将脚本移至纯英文路径,或右键文件→“属性”→“安全”→“编辑”权限,给予用户完全控制权。 -
PHP扩展未加载
原因:php.ini中未启用所需扩展(如php_curl.dll
)。
解决:编辑php.ini
文件,取消注释;extension=curl
并确保DLL文件位于ext
目录中,重启命令行。
相关问答FAQs
Q1: 如何在命令行中查看PHP的详细配置信息?
A1: 使用php -i
命令可输出PHP的完整配置信息,包括已加载的模块、环境变量和php.ini设置,若需保存到文件,可执行php -i > php_info.txt
。
Q2: 命令行运行PHP脚本时如何传递参数?
A2: 通过$argv
和$argc
变量获取命令行参数,执行php script.php arg1 arg2
时,$argv[0]
为脚本名,$argv[1]
为arg1
,$argv[2]
为arg2
。$argc
则表示参数总数(不含脚本名),示例代码:
<?php for ($i = 1; $i < $argc; $i++) { echo "参数 $i: " . $argv[$i] . "\n"; } ?>