发布于2026-05-21 阅读(0)
扫一扫,手机访问

想在命令行里运行PHP文件?这事儿其实没想象中那么复杂。核心就一句话:用 php 命令跟上你的文件路径。当然,这一切的前提是你的系统已经妥妥地装好了PHP,并且配置好了环境变量,让终端能直接认出 php 这个指令。
动手之前,先得确认“武器”在手。打开你的终端(无论是Windows的CMD/PowerShell,还是macOS/Linux的Terminal),输入下面这个命令试试水:
php -v
如果屏幕上哗啦啦地打印出了PHP的版本号、版权信息这些,那就恭喜你,环境没问题。如果系统给你回了个“command not found”或者“不是内部或外部命令”的白眼,那就意味着你得先去把PHP安装好,并且把它的可执行文件路径添加到系统的环境变量PATH里。
想更精确地知道php命令藏在哪儿?可以试试:
which phpwhere php这两个命令会告诉你php可执行文件的具体位置。
环境搞定,接下来就是实战了。首先,用 cd 命令切换到你的PHP脚本所在的目录。然后,最直接、最常用的执行方式就是:
php script.php
这里的 script.php 替换成你的实际文件名就行。系统会启动PHP解释器,读取并执行这个文件里的代码。
你可能会看到另一种带参数的形式:
php -f script.php
这里的 -f 参数就是显式地告诉PHP“我要执行一个文件”,效果和直接写 php script.php 完全一样,所以通常可以省略。
有时候只是想快速测试一小段代码,不想专门创建文件?可以用 -r 参数:
php -r "echo 'Hello, Command Line!';"
这样就能直接运行引号里的那行PHP代码了,非常方便。
这里有个关键点:你的 script.php 必须是一个语法正确的PHP文件,通常以 开头。如果文件里有语法错误,执行时会看到“Parse error”这样的提示,那就得先回去把代码调试正确。
掌握了基本命令,还得避开几个常见的坑:
./subdir/test.php 表示当前目录下的子文件夹里的文件),或者绝对路径(比如 /Users/YourName/project/script.php)。如果只写一个文件名,PHP默认只在当前目录下寻找。chmod +x script.php)。因为是由 php 这个解释器去读取文件内容,而不是由系统直接执行这个文件。$_GET、$_POST、$_COOKIE 这些超全局变量默认是空的,因为它们依赖于HTTP请求。同样,用于发送HTTP头的 header() 函数在命令行中使用通常会触发警告。-l 参数(lint的意思)来只做语法检查,而不真正执行代码:php -l script.php。如果显示“No syntax errors detected”,那就可以放心运行了。命令行下运行PHP脚本的威力,还在于可以方便地传递参数和进行交互。
如何给脚本传参?直接在文件名后面加上参数就行:
php script.php argument1 argument2
在你的 script.php 文件里,可以通过预定义的 $argv 数组来获取这些参数。这个数组的第一个元素($argv[0])是脚本名本身,之后才是你传入的参数。例如,用 var_dump($argv); 可以打印出所有参数看看。
脚本还能读取从管道(|)或重定向(<)传来的标准输入(stdin):
$input = file_get_contents('php://stdin');
举个例子,你可以这样操作:
echo "This is input" | php script.php
那么,在 script.php 中,file_get_contents('php://stdin') 就会得到字符串 “This is input”。这让PHP脚本可以轻松地融入Shell的管道处理流程,功能非常强大。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9