PHP?在?Microsoft?Windows?下的命令行方式
PHP 在 Microsoft Windows 下的命令行方式
要在命令行下運(yùn)行 PHP,可以無(wú)需對(duì) Windows 做任何改動(dòng)。
C:\php\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3
但是有幾個(gè)很容易的步驟可以使其更加簡(jiǎn)便。某些步驟可能已經(jīng)在之前完成了,不過(guò)還是在這里重復(fù)說(shuō)明以便提供一個(gè)完整的步驟序列。
注意:
PATH 和 PATHEXT 都是在 Windows 下已有的重要環(huán)境變量,要留意不要覆蓋了其內(nèi)容,僅僅是向其中添加內(nèi)容。
將 PHP 可執(zhí)行文件(php.exe,php-win.exe 或者 php-cli.exe)的路徑添加到 PATH 環(huán)境變量中去。
將 .PHP 后綴添加到 PATHEXT 環(huán)境變量中去。可以在修改 PATH 環(huán)境變量時(shí)同時(shí)進(jìn)行。跟常見(jiàn)問(wèn)題中說(shuō)明的步驟一樣,要修改的是 PATHEXT 環(huán)境變量而不是 PATH 環(huán)境變量。
注意:
把 .PHP 放置到什么位置將決定具有相同文件名時(shí)運(yùn)行的優(yōu)先級(jí)。例如將 .PHP 放到 .BAT 之前將導(dǎo)致如果有同名的 PHP 腳本和批處理文件,則 PHP 腳本會(huì)運(yùn)行。
將 .PHP 后綴關(guān)聯(lián)為一種文件類(lèi)型,用以下命令完成:
assoc .php=phpfile
將 phpfile 文件類(lèi)型關(guān)聯(lián)到適當(dāng)?shù)?PHP 可執(zhí)行文件,用以下命令完成:
ftype phpfile="C:\php\php.exe" -f "%1" -- %~2
按照以上步驟將使 PHP 腳本可以在任何目錄下運(yùn)行,不需要輸入 PHP 可執(zhí)行文件名以及 .PHP 后綴,并且所有參數(shù)都會(huì)被傳遞給腳本來(lái)處理。
以下例子說(shuō)明了可以手工修改的注冊(cè)表項(xiàng)目變化。
示例 #1 注冊(cè)表變化
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"
有了這些改變之后,本頁(yè)頂端第一個(gè)例子中的命令可以寫(xiě)成這樣:
"C:\PHP Scripts\script" -arg1 -arg2 -arg3
或者如果 “C:\PHP Scripts” 路徑位于 PATH 環(huán)境變量中的話(huà):
script -arg1 -arg2 -arg3
注意:
不過(guò)如果想要通過(guò)此技巧將 PHP 腳本作為命令行管道過(guò)濾器的話(huà),有個(gè)小問(wèn)題。例如以下例子:
dir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3
或者
dir | script -arg1 -arg2 -arg3
此時(shí)腳本只是掛起,沒(méi)有輸出任何內(nèi)容。要解決此問(wèn)題,還需要做一個(gè)注冊(cè)表修改。
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer] "InheritConsoleHandles"=dword:00000001
到此這篇關(guān)于PHP 在 Microsoft Windows 下的命令行方式的文章就介紹到這了,更多相關(guān)PHP 在 Microsoft Windows命令行內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
114啦源碼(114la)不能生成地方房產(chǎn)和地方報(bào)刊問(wèn)題4級(jí)頁(yè)面0字節(jié)的解決方法
做了個(gè)網(wǎng)址導(dǎo)航站,用的是114la的源碼,沒(méi)想到里面有很多問(wèn)題,官方也沒(méi)出補(bǔ)丁,沒(méi)辦法,自己學(xué)著改吧2012-01-01
Zend Framework教程之Zend_Db_Table用法詳解
這篇文章主要介紹了Zend Framework教程之Zend_Db_Table用法,結(jié)合實(shí)例形式詳細(xì)分析了Zend_Db_Table的功能,使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-03-03
利用php + Laravel如何實(shí)現(xiàn)部署自動(dòng)化詳解
這篇文章主要給大家介紹了關(guān)于利用php + Laravel如何實(shí)現(xiàn)部署自動(dòng)化的相關(guān)資料,文中通過(guò)示例代碼介紹非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-10-10
thinkPHP刪除前彈出確認(rèn)框的簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了thinkPHP刪除前彈出確認(rèn)框的簡(jiǎn)單實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了thinkPHP前臺(tái)HTML部分結(jié)合js控制彈出框效果,以及后臺(tái)控制器的刪除數(shù)據(jù)處理功能,需要的朋友可以參考下2016-05-05
Laravel創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)的例子
今天小編就為大家分享一篇Laravel創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
Laravel實(shí)現(xiàn)用戶(hù)注冊(cè)和登錄
本文詳細(xì)給我們展示了使用Laravel實(shí)現(xiàn)用戶(hù)注冊(cè)和登錄的方法和步鄹,需要的朋友可以參考下2015-01-01
CodeIgniter使用smtp服務(wù)發(fā)送html郵件的方法
這篇文章主要介紹了CodeIgniter使用smtp服務(wù)發(fā)送html郵件的方法,涉及CodeIgniter中email類(lèi)的使用技巧,需要的朋友可以參考下2015-06-06
Laravel 解決419錯(cuò)誤 -ajax請(qǐng)求錯(cuò)誤的問(wèn)題(CSRF驗(yàn)證)
今天小編就為大家分享一篇Laravel 解決419錯(cuò)誤 -ajax請(qǐng)求錯(cuò)誤的問(wèn)題(CSRF驗(yàn)證),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
PHP判斷是否是微信打開(kāi)還是瀏覽器打開(kāi)的方法
今天小編就為大家分享一篇關(guān)于PHP判斷是否是微信打開(kāi)還是瀏覽器打開(kāi)的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02

