PHP 在 Microsoft Windows 下的命令行方式,要在命令行下运行 PHP,可以无需对 Windows 做任何改动,今天通过本文给大家介绍下PHP 在 Microsoft Windows 下的命令行方式,感兴趣的朋友一起看看吧
PHP 在 Microsoft Windows 下的命令行方式
要在命令行下运行 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 后缀添加到 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
到此这篇关于PHP 在 Microsoft Windows 下的命令行方式的文章就介绍到这了,更多相关PHP 在 Microsoft Windows命令行内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:PHP 在 Microsoft Windows 下的命令行方式
基础教程推荐
- PHP获取MySQL执行sql语句的查询时间方法 2022-11-09
- 使用PHP开发留言板功能 2023-03-13
- php array分组,PHP中array数组的分组排序 2022-08-01
- 在Laravel中实现使用AJAX动态刷新部分页面 2023-03-02
- PHP命名空间简单用法示例 2022-12-01
- thinkphp3.2.3框架动态切换多数据库的方法分析 2023-03-19
- PHP实现Redis单据锁以及防止并发重复写入 2022-10-12
- PHP中的错误及其处理机制 2023-06-04
- laravel ORM关联关系中的 with和whereHas用法 2023-03-02
- laravel 解决多库下的DB::transaction()事务失效问题 2023-03-08