如何在命令列下執行php指令碼以及傳遞引數

2021-09-06 20:36:08 字數 1960 閱讀 4779

在命令列下執行指令碼:window下,假設php安裝目錄為c:\program files\php5\,那麼使用命令視窗進入到該路徑下,敲入php hello.php回車,則會執行當前路徑下的hello.php檔案,如果要指向其他路徑下php檔案,可以在php 路徑/hello.php ,這種形式稱為cli模式,我們平時通過瀏覽器看到的那種稱為cgi模式,至於傳遞引數,php檔案在cli模式下,直接通過在檔名稱後面接引數,多個引數中間用空格隔開,在php檔案裡面是通過兩個變數來獲取引數的,乙個是$argv,乙個是$argc,前者是傳遞引數的陣列,預設第乙個為php檔案的名稱;後者為$argv的陣列個數。

linux下,一般程式安裝都會安裝在/usr/bin/php下面,可以通過man php檢視一下,如果有資訊說明可以使用,使用方法類似於window下。如果前面這步成立,那麼你可以直接 php php檔案 來執行php檔案,如果man php沒有資訊,則說明當前php執行檔案沒有在環境路徑裡面,可以修改環境路徑包含php路徑,也可以類似於window進入php路徑,在執行 php php檔案。其他類似於window下。

php獲取引數的三種方法:

方法一 使用$argc $argv

<?php

if ($argc > 1) 

在命令列下執行 /usr/local/php/bin/php ./getopt.php -f 123 -g 456

執行結果:

# /usr/local/php/bin/php ./getopt.php -f 123 -g 456

array

([0] => ./getopt.php

[1] => -f

[2] => 123

[3] => -g

[4] => 456

)方法二 使用getopt函式()

getopt ( string $options [, array $longopts ] );

引數解析:

options

該字串中的每個字元會被當做選項字元,匹配傳入指令碼的選項以單個連字元(-)開頭。 比如,乙個選項字串 "x" 識別了乙個選項 -x。 只允許 a-z、a-z 和 0-9。

longopts

選項陣列。此陣列中的每個元素會被作為選項字串,匹配了以兩個連字元(--)傳入到指令碼的選項。 例如,長選項元素 "opt" 識別了乙個選項 --opt。

options 可能包含了以下元素:

單獨的字元(不接受值)

後面跟隨冒號的字元(此選項需要值)

後面跟隨兩個冒號的字元(此選項的值可選)

選項的值是字串後的第乙個引數。它不介意值之前是否有空格。

$options = "f:g:";

$opts = getopt( $options );

print_r($opts); 

在命令列下執行 /usr/local/php/bin/php ./getopt.php -f 123 -g 456

執行結果:

array

([f] => 123

[g] => 456

)方法三 提示使用者輸入,然後獲取輸入的引數。有點像c語言

fwrite(stdout, "enter your name: ");

$name = trim(fgets(stdin));

fwrite(stdout, "hello, $name!"); 

stdout -- 標準輸出裝置 (printf("..")) 同 stdout。

stderr -- 標準錯誤輸出裝置

兩者預設向螢幕輸出。

但如果用轉向標準輸出到磁碟檔案,則可看出兩者區別。stdout輸出到磁碟檔案,stderr在螢幕。

在命令列下執行 /usr/local/php/bin/php ./getopt.php

執行結果

enter your name: zhang //(zhang 為使用者輸入)

hello, zhang!

原文: 

如何在命令列下執行php指令碼以及傳遞引數

如果php加入了環境變數,如何檢視php版本 在命令列下執行指令碼 window下,假設php安裝目錄為c program files php5 那麼使用命令視窗進入到該路徑下,敲入php hello.php回車,則會執行當前路徑下的hello.php檔案,如果要指向其他路徑下php檔案,可以在ph...

命令列下執行PHP指令碼

找到php.exe 執行php.exe 檔名 引數1 引數2.引數以空格分開,引數有空格以引號包裹 1 window下可以把當前php.exe路徑新增到環境變數的path裡,就可以直接執行php index.php 引數1 引數2.2 linux unix 借助php cli 執行命令 php h ...

命令列下執行php指令碼

最近在維護乙個 後台,開發語言是php,看來要好好學一學這門語言了。為了做一些簡單的練習,都要開啟webserver,有些大材小用,所以,就想直接在命令列下執行php指令碼。而且,既然php是一種指令碼語言,一些日常用的指令碼工具也可以直接用它來實現,權當練習了。從網上搜了一些資料,整理如下 注 以...