如果你使用的wamp整合安裝環境的話,那麼你php的配置是在D:/wamp/bin/apache/Apache2.2.17/bin
你要先把他複製覆蓋掉D:/wamp/bin/php/php5.3.3下的php.ini,否則當你調用擴充函數的時候會報錯誤如:Fatal error: Call to undefined function
如果你懶得寫那麼大長串php的路徑,你也可以把D:/wamp/bin/php/php5.3.3加到環境變數path裡面。
另外關於傳參的問題。 比如我要執行test.php?a=123
命令列中我們就可以寫 php test.php 123
在test.php中使用$argv[1]來接收123.
建一個簡單的文字檔,其中包含有以下PHP代碼,並把它儲存為hello.php:
| 代碼如下 |
複製代碼 |
<?php echo "Hello from the CLI"; ?> |
現在,試著在命令列提示符下運行這個程式,方法是調用CLI可執行檔並提供指令碼的檔案名稱:
| 代碼如下 |
複製代碼 |
#php phphello.php 輸出Hello from the CLI |
附上一個bat的可執行檔作為參考
| 代碼如下 |
複製代碼 |
@echo off php D:/wamp/www/taobao/items.php 158345687 php D:/wamp/www/taobao/refunds_up.php 158345687 php D:/wamp/www/taobao/trade.php 158345687 echo.&echo 請按任意鍵關閉BAT視窗...&pause exit |
一些常用的執行命令的代碼
下是 PHP 二進位檔案(即 php.exe 程式)提供的命令列模式的選項參數,您隨時可以通過 PHP -h 命令來查詢這些參數。
Usage: php [options] [-f] <file> [args...]
php [options] -r <code> [args...]
php [options] [-- args...]
-s Display colour syntax highlighted source.
-w Display source with stripped comments and whitespace.
-f <file> Parse <file>.
-v Version number
-c <path>|<file> Look for php.ini file in this directory
-a Run interactively
-d foo[=bar] Define INI entry foo with value 'bar'
-e Generate extended information for debugger/profiler
-z <file> Load Zend extension <file>.
-l Syntax check only (lint)
-m Show compiled in modules
-i PHP information
-r <code> Run PHP <code> without using script tags <?..?>
-h This help
args... Arguments passed to script. Use -- args when first argument
starts with - or script is read from stdin
CLI SAPI 模組有以下三種不同的方法來擷取您要啟動並執行 PHP 代碼:
在windows環境下,盡量使用雙引號, 在linux環境下則盡量使用單引號來完成。
1.讓 PHP 運行指定檔案。
| 代碼如下 |
複製代碼 |
php my_script.php php -f "my_script.php" |
以上兩種方法(使用或不使用 -f 參數)都能夠運行給定的 my_script.php 檔案。您可以選擇任何檔案來運行,您指定的 PHP 指令碼並非必須要以 .php 為副檔名,它們可以有任意的檔案名稱和副檔名。
2.在命令列直接運行 PHP 代碼。
| 代碼如下 |
複製代碼 |
php -r "print_r(get_defined_constants());" |
在使用這種方法時,請您注意外殼變數的替代及引號的使用。
注: 請仔細閱讀以上範例,在運行代碼時沒有開始和結束的標記符!加上 -r 參數後,這些標記符是不需要的,加上它們會導致語法錯誤。
3.通過標準輸入(stdin)提供需要啟動並執行 PHP 代碼。
以上用法給我們提供了非常強大的功能,使得我們可以如下範例所示,動態地產生 PHP 代碼並通過命令列運行這些代碼:
| 代碼如下 |
複製代碼 |
$ some_application | some_filter | php | sort -u >final_output.txt |