PHP?在?Microsoft?Windows?下的命令行方式
PHP 在 Microsoft Windows 下的命令行方式
要在命令行下運(yùn)行 PHP,可以無需對(duì) Windows 做任何改動(dòng)。
C:\php\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3
但是有幾個(gè)很容易的步驟可以使其更加簡便。某些步驟可能已經(jīng)在之前完成了,不過還是在這里重復(fù)說明以便提供一個(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)行。跟常見問題中說明的步驟一樣,要修改的是 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)為一種文件類型,用以下命令完成:
assoc .php=phpfile
將 phpfile 文件類型關(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ì)被傳遞給腳本來處理。
以下例子說明了可以手工修改的注冊(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"
有了這些改變之后,本頁頂端第一個(gè)例子中的命令可以寫成這樣:
"C:\PHP Scripts\script" -arg1 -arg2 -arg3
或者如果 “C:\PHP Scripts” 路徑位于 PATH 環(huán)境變量中的話:
script -arg1 -arg2 -arg3
注意:
不過如果想要通過此技巧將 PHP 腳本作為命令行管道過濾器的話,有個(gè)小問題。例如以下例子:
dir | "C:\PHP Scripts\script" -arg1 -arg2 -arg3
或者
dir | script -arg1 -arg2 -arg3
此時(shí)腳本只是掛起,沒有輸出任何內(nèi)容。要解決此問題,還需要做一個(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)文章
使用ob系列函數(shù)實(shí)現(xiàn)PHP網(wǎng)站頁面靜態(tài)化
php頁面緩存主要用到的是ob系列函數(shù),如ob_start(),ob_end_flush(),ob_get_contents() ,今天我們來談?wù)勈褂眠@些函數(shù)來實(shí)現(xiàn)php網(wǎng)站頁面靜態(tài)化2014-08-08一個(gè)PHP實(shí)現(xiàn)的輕量級(jí)簡單爬蟲
這篇文章主要介紹了一個(gè)PHP實(shí)現(xiàn)的輕量級(jí)簡單爬蟲,本文總結(jié)了爬蟲的一些知識(shí)如爬蟲的結(jié)構(gòu)、正則表達(dá)式、其他問題等,然后給出了爬蟲實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-07-07三個(gè)思路解決laravel上傳文件報(bào)錯(cuò):413 Request Entity Too Large問題
上傳圖片的時(shí)候,是用laravel自帶的上傳圖片的方法,一下氣上傳了20張,結(jié)果就無情報(bào)錯(cuò):413 Request Entity Too Large,后面查一下,這個(gè)報(bào)錯(cuò)信息是nginx報(bào)的錯(cuò)誤,不是php報(bào)的錯(cuò)誤。也就是說在上傳圖片的時(shí)候被nginx攔截了2017-11-11php 生成靜態(tài)頁面的辦法與實(shí)現(xiàn)代碼詳細(xì)版
首先說原理。查了那么多資料,發(fā)現(xiàn)不管用什么方法,原理都是一樣的。就是用程序讀取相應(yīng)的數(shù)據(jù)來替換模版中的變量,然后生成靜態(tài)頁。2010-02-02Codeigniter中mkdir創(chuàng)建目錄遇到權(quán)限問題和解決方法
這篇文章主要介紹了Codeigniter中mkdir創(chuàng)建目錄遇到權(quán)限問題和解決方法,需要的朋友可以參考下2014-07-07微信公眾平臺(tái)天氣預(yù)報(bào)功能開發(fā)
前一段開始做一個(gè)學(xué)校的微信應(yīng)用,里面添加了各種功能。天氣預(yù)報(bào)是必不可少的一部分。2014-07-07Zend Framework入門教程之Zend_Config組件用法詳解
這篇文章主要介紹了Zend Framework入門教程之Zend_Config組件用法,結(jié)合實(shí)例形式分析了Zend_Config組件針對(duì)各種類型配置文件操作的相關(guān)技巧,需要的朋友可以參考下2016-12-12