国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP下的命令行執行

2019-11-08 03:14:30
字體:
來源:轉載
供稿:網友

以下是 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環境下則盡量使用單引號來完成。

讓 PHP 運行指定文件。php my_script.phpphp -f "my_script.php"

以上兩種方法(使用或不使用 -f 參數)都能夠運行給定的 my_script.php 文件。您可以選擇任何文件來運行,您指定的 PHP 腳本并非必須要以 .php 為擴展名,它們可以有任意的文件名和擴展名。 2. 在命令行直接運行 PHP 代碼。

php -r "print_r(get_defined_constants());" 在使用這種方法時,請您注意外殼變量的替代及引號的使用。

注: 請仔細閱讀以上范例,在運行代碼時沒有開始和結束的標記符!加上 -r 參數后,這些標記符是不需要的,加上它們會導致語法錯誤。

通過標準輸入(stdin)提供需要運行的 PHP 代碼。 以上用法給我們提供了非常強大的功能,使得我們可以如下范例所示,動態地生成 PHP 代碼并通過命令行運行這些代碼:$ some_application | some_filter | php | sort -u >final_output.txt

以上三種運行代碼的方法不能同時使用。

和所有的外殼應用程序一樣,PHP 的二進制文件(php.exe 文件)及其運行的 PHP 腳本能夠接受一系列的參數。PHP 沒有限制傳送給腳本程序的參數的個數(外殼程序對命令行的字符數有限制,但您通常都不會超過該限制)。傳遞給您腳本的參數可在全局變量 argv中獲取。該數組中下標為零的成員為腳本的名稱(當PHP代碼來自標準輸入獲直接用?r參數以命令行方式運行時,該名稱為“?”)。另外,全局變量argc 存有 $argv 數組中成員變量的個數(而非傳送給腳本程序的參數的個數)。

只要您傳送給您腳本的參數不是以 - 符號開頭,您就無需過多的注意什么。向您的腳本傳送以 - 開頭的參數會導致錯誤,因為 PHP 會認為應該由它自身來處理這些參數。您可以用參數列表分隔符 – 來解決這個問題。在 PHP 解析完參數后,該符號后所有的參數將會被原樣傳送給您的腳本程序。

# 以下命令將不會運行 PHP 代碼,而只顯示 PHP 命令行模式的使用說明:$ php -r 'var_dump($argv);' -hUsage: php [options] [-f] <file> [args...][...]# 以下命令將會把“-h”參數傳送給腳本程序,PHP 不會顯示命令行模式的使用說明:$ php -r "var_dump($argv);" -- -harray(2) { [0]=> string(1) "-" [1]=> string(2) "-h"}

除此之外,我們還有另一個方法將 PHP 用于外殼腳本。您可以在寫一個腳本,并在第一行以 #!/usr/bin/php 開頭,在其后加上以 PHP 開始和結尾標記符包含的正常的 PHP 代碼,然后為該文件設置正確的運行屬性。該方法可以使得該文件能夠像外殼腳本或 PERL 腳本一樣被直接執行。

#!/usr/bin/php<?php var_dump($argv);?>

假設改文件名為 test 并被放置在當前目錄下,我們可以做如下操作:

$ chmod 755 test$ ./test -h -- fooarray(4) { [0]=> string(6) "./test" [1]=> string(2) "-h" [2]=> string(2) "--" [3]=> string(3) "foo"}

正如您所看到的,在您向該腳本傳送以 - 開頭的參數時,腳本仍然能夠正常運行。 這里寫圖片描述


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 惠来县| 丰都县| 康马县| 巴彦淖尔市| 类乌齐县| 炉霍县| 本溪市| 当雄县| 渭源县| 五指山市| 札达县| 道真| 和田市| 吕梁市| 宿松县| 吉林省| 益阳市| 灌阳县| 措美县| 江城| 三原县| 江陵县| 博客| 寻乌县| 卢龙县| 怀集县| 阿坝| 彰化市| 湘潭县| 疏勒县| 左云县| 鸡西市| 靖宇县| 图木舒克市| 安宁市| 寿光市| 罗平县| 墨脱县| 新乐市| 恭城| 香格里拉县|