windows下使用命令列執行PHP

2021-07-11 04:55:52 字數 1692 閱讀 2281

之前一直想,在命令列下能不能執行php程式,像c語言一樣可以通過命令列拿到引數。今天嘗試了一下發現可感覺挺有意思的,平時寫著程式玩的時候就可以這樣用,下面讓咱麼來看看怎麼做的。

我的環境是 php5.6

一、php cli模式

什麼是cli ? 是php自4.3版本之後提供的cli sapi 叫cli(command line inte***ce),主要用於php外殼應用的開發。說白了就是支援命令列下解析php**。外殼應用可以理解為提供命令列介面的解析器。比如linux下的shell等。從php5之後php的發行包中cli的執行檔案是php.exe,cgi版本的是php-cgi.exe,並且其中附帶乙個php-win.exe的檔案,其相當於cli版本,其不輸出任何資訊。其實配置window下環境變數主要就是這幾個檔案。

二、命令下執行php程式

要在命令列下執行php程式,可以不需要設定window,直接執行類似下面這樣的命令即可:

f

:\xampp\php\php

.exe -f

"f:\xampp\htdocs\test.php"---

arg1

-arg2

前半部分是php.exe所在的位置, -f 是選項 後面接要執行php檔案的路徑  -arg1 

-arg2是所帶的引數。每次這樣做感覺很麻煩所以查閱相關資料找到了別的方法,感覺這種方法很方便,下面讓我們來看看。

我們只需要做下面幾個步驟: 1、

在環境變數裡面加入php.exe ,php-win.exe 或 php-cli.exe的路徑

2、將.php字尾新增到pathtext中

3、將.php字尾關聯成一種檔案型別,用下面的命令執行

assoc 

.php

=phpfile

4、將phpfile型別的檔案關聯到相關的可執行程式即可,用下面的命令執行

ftype phpfile

="f:\xampp\php\php.exe"-f

"%1"

--%~

2

這樣就可以直接不加php.exe檔案所在路徑和php檔案的字尾直接執行了。其中可能遇到防毒軟體修改登錄檔的提示,直接全部允許就好。

可能會有疑問,這樣我們如何在php**中拿到命令列中的引數,其實引數在$_server中就可有:

在命令列下輸入:

demo_cli

.php

123456789

這條命令的意思是執行

demo_cli

.php引數是123456789;接下來我們來列印輸出看看

$_server的內容(只顯示部分內容):

'argv'

=>

array(2

)

'argc' =>

int(2)

可以看到argv中有我們想要的引數值,直接拿取即可。

三、總結

其實php中有很多有意思的東西,需要發現尋找,php是很有意思的。

參考:

windows命令列執行mysql

在cmd中輸入時一定要保證英文環境.1.windows命令列執行mysql 我是將mysql安裝在c program files mysql所以 c program files mysql mysql server 5.0 bin mysql uroot p 然後看下資料庫對應的使用者和主機 2.當...

用命令列執行ROBOT FRAMEWORK用例

除了在ride中執行用例,我們也可以通過命令列的形式執行用例。1.執行一整個專案 pybot 專案路徑 2.執行某個測試集 pybot 測試集的路徑 3.執行某個測試集裡面的某個用例 pybot test測試用例名稱 測試用例所在的測試集的路徑 4.執行多個測試集,命令格式 pybot d 日誌儲存...

Windows用命令列執行mysql的sql檔案

mysql h localhost u root p 123456 這裡我電腦上的使用者名稱是root,密碼123456 格式則是 mysql h 主機位址 本機localhost u 使用者名稱 root p 資料庫名 要匯入的資料檔案 比如是c mysql test.sql 比如 mysql h...