PHP: 在 Windows 系统的命令行上运行 PHP

PHP: 在 Windows 系统的命令行上运行 PHP

在 Windows 系统的命令行上运行 PHP

本章包含有针对在 Windows 下以命令行运行 PHP 的说明与提示。

注意:

阅读 手工安装步骤!

要在命令行下运行 PHP,可以无需对 Windows 做任何改动。

C:\php\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3

但是有几个很容易的步骤可以使其更加简便。某些步骤可能已经在之前完成了,不过还是在这里重复说明以便提供一个完整的步骤序列。

注意:

PATH 和 PATHEXT 都是在 Windows

下已有的重要环境变量,要留意不要覆盖了其内容,仅仅是向其中添加内容。

将 PHP 可执行文件(php.exe,php-win.exe

或者 php-cli.exe)的路径添加到 PATH

环境变量中去。如何将 PHP 目录添加到 PATH

中请参阅与之相关的常见问题。

将 .PHP 后缀添加到

PATHEXT 环境变量中去。可以在修改

PATH 环境变量时同时进行。跟常见问题中说明的步骤一样,要修改的是

PATHEXT 环境变量而不是

PATH 环境变量。

注意:

把 .PHP 放置到什么位置将决定具有相同文件名时运行的优先级。例如将

.PHP 放到 .BAT

之前将导致如果有同名的 PHP 脚本和批处理文件,则 PHP 脚本会运行。

将 .PHP 后缀关联为一种文件类型,用以下命令完成:

assoc .php=phpfile

将 phpfile 文件类型关联到适当的 PHP

可执行文件,用以下命令完成:

ftype phpfile="C:\php\php.exe" -f "%1" -- %~2

按照以上步骤将使 PHP 脚本可以在任何目录下运行,不需要输入 PHP 可执行文件名以及

.PHP 后缀,并且所有参数都会被传递给脚本来处理。

以下例子说明了可以手工修改的注册表项目变化。

示例 #1 注册表变化

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.php]

@="phpfile"

"Content Type"="application/php"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile]

@="PHP Script"

"EditFlags"=dword:00000000

"BrowserFlags"=dword:00000008

"AlwaysShowExt"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\DefaultIcon]

@="C:\\php\\php-win.exe,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell]

@="Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open]

@="&Open"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\phpfile\shell\Open\command]

@="\"C:\\php\\php.exe\" -f \"%1\" -- %~2"

有了这些改变之后,本页顶端第一个例子中的命令可以写成这样:

"C:\PHP Scripts\script" -arg1 -arg2 -arg3

或者如果 "C:\PHP Scripts" 目录位于

PATH 环境变量中的话:

script -arg1 -arg2 -arg3

注意:

当打算使用这种技术作为命令行过滤器运行 PHP 脚本时,会出现一个小问题,例如以下例子:

dir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3

或者

dir | script -arg1 -arg2 -arg3

脚本可能会直接挂起,没有任何输出。

要使其正常运行,需要对注册表进行另一项更改:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer]

"InheritConsoleHandles"=dword:00000001

有关此问题的更多信息见» 微软知识库文章:321788。

从 Windows 10 开始,此设置似乎被颠倒,请参考以下链接 »

Microsoft 论坛帖子。

相关推荐

cpu正常温度多少,cpu烧了还能修吗?关键看这几点
paas平台的组成,PaaS平台核心组件解析
365娱乐官网官方网站

paas平台的组成,PaaS平台核心组件解析

📅 07-26 👁️ 8531
快乐十分奖金结构一览表玩法和奖金一目了然
365娱乐官网官方网站

快乐十分奖金结构一览表玩法和奖金一目了然

📅 10-11 👁️ 5317
惠氏怎样辨别奶粉真假
365betvip5

惠氏怎样辨别奶粉真假

📅 10-22 👁️ 4057
藂集的意思
如何打开mobile365

藂集的意思

📅 10-21 👁️ 8586
那么的意思
如何打开mobile365

那么的意思

📅 10-03 👁️ 5308