国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

(轉(zhuǎn))php cli命令 自定義參數(shù)傳遞

騫諱護(hù) / 3494人閱讀

摘要:帶有兩個(gè)特殊的變量,專門用來達(dá)到這個(gè)目的一個(gè)是變量,它通過命令行把傳遞給腳本的參數(shù)保存為多帶帶的數(shù)組元素另一個(gè)是變量,它用來保存數(shù)組里元素的個(gè)數(shù)。

本文為轉(zhuǎn)載,原文鏈接: 參考文章

所有的PHP發(fā)行版,不論是編譯自源代碼的版本還是預(yù)創(chuàng)建的版本,都在默認(rèn)情況下帶有一個(gè)PHP可執(zhí)行文件。這個(gè)可執(zhí)行文件可以被用來運(yùn)行命令行的PHP程序。
要在你的系統(tǒng)上找到這個(gè)可執(zhí)行文件,就要遵照下面的步驟:

1、 Windows :放在PHP主安裝目錄下,文件名是php.exe或者(在老版本的PHP里)是php-cli.exe。
2、Linux : 保存在PHP安裝目錄的bin/子目錄下。

需要注意的是CLI模式和CGI模式運(yùn)行時(shí)用的PHP.INI并非同一套配置,需要多帶帶配置。
不論是在哪一個(gè)操作系統(tǒng)里,你都需要對(duì)它進(jìn)行測(cè)試,以保證它能夠正常運(yùn)行,方法是用-v參數(shù)調(diào)用它:

shell> /path/php.exe -v
PHP 5.0.0 (cli) (built: Jun 1 2005 18:32:10)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v2.0.0, Copyright (c) 1998-2004 Zend Technologies

它應(yīng)該會(huì)返回PHP的版本號(hào)。

使用CLI命令
一個(gè)簡(jiǎn)單的PHP CLI程序,命名hello.php

現(xiàn)在,試著在命令行提示符下運(yùn)行這個(gè)程序,方法是調(diào)用CLI可執(zhí)行文件并提供腳本的文件名:

shell> /path/php.exe /example/hello.php
Hello from the CLI

使用標(biāo)準(zhǔn)的輸入和輸出
PHP CLI會(huì)定義三個(gè)常量,以便讓在命令行提示符下與解釋器進(jìn)行交互操作更加容易。這些常量見下表

常量 說明
STDIN 標(biāo)準(zhǔn)的輸入設(shè)備
STDOUT 標(biāo)準(zhǔn)的輸出設(shè)備
STDERR 標(biāo)準(zhǔn)的錯(cuò)誤設(shè)備

你可以在自己的PHP腳本里使用這三個(gè)常量,以接受用戶的輸入,或者顯示處理和計(jì)算的結(jié)果。

使用范例:


output:
D:>wampinphpphp5.3.0php.exe  	oolsindex.php
Enter your name: kkk
Hello, kkk!
 在這個(gè)腳本里,fwrite()函數(shù)首先會(huì)向標(biāo)準(zhǔn)的輸出設(shè)備寫一條消息,詢問用戶的姓名。然后它會(huì)把從標(biāo)準(zhǔn)輸入設(shè)備獲得的用戶輸入信息讀取到一個(gè)PHP變量里,并它把合并成為一個(gè)字符串。然后就用fwrite()把這個(gè)字符串打印輸出到標(biāo)準(zhǔn)的輸出設(shè)備上。

命令行自定義變量1【$argv|$argc】
在命令行里輸入程序參數(shù)來更改其運(yùn)行方式是很常見的做法。你也可以對(duì)CLI程序這樣做。
PHP CLI帶有兩個(gè)特殊的變量,專門用來達(dá)到這個(gè)目的:
  一個(gè)是$argv變量,它通過命令行把傳遞給PHP腳本的參數(shù)保存為多帶帶的數(shù)組元素;
  另一個(gè)是$argc變量,它用來保存$argv數(shù)組里元素的個(gè)數(shù)。

使用范例:


output:

D:>wampinphpphp5.3.0php.exe  	oolsindex.php bac ffffd
Array
(
    [0] => 	oolsindex.php
    [1] => bac
    [2] => ffffd
)

正如你可以從輸出的結(jié)果看到的,傳遞給index.php的值會(huì)自動(dòng)地作為數(shù)組元素出現(xiàn)在$argv里。要注意的是,$argv的第一個(gè)自變量總是腳本自己的名稱。

注意:我們還可以用Console_Getopt PEAR類向PHP增加更加復(fù)雜的命令行參數(shù)。

命令行自定義變量2【使用Console_Getopt接收參數(shù)】

注意:這個(gè)變量?jī)H在 register_argc_argv 打開時(shí)可用

getopt($option, $longopts) // 第一個(gè)$option接收 -h vb 第二個(gè)參數(shù)接收 --require sss

使用范例

 

ouput:

D:>wampinphpphp5.3.0php.exe  	oolsindex.php -f "value for f" -v -a --re
quired value --optional="optional value" --option will
array(6) {
  ["f"]=>
  string(11) "value for f"
  ["v"]=>
  bool(false)
  ["a"]=>
  bool(false)
  ["required"]=>
  string(5) "value"
  ["optional"]=>
  string(14) "optional value"
  ["option"]=>
  bool(false)
}

命令行變量3【使用CLI參數(shù)】

除了用命令行傳遞PHP腳本參數(shù),還可以傳遞PHP CLI參數(shù)以更改其工作方式。

參數(shù) 說明
-a 交互式運(yùn)行Run interactively
-c path 從path讀取php的.ini文件
-n 不用讀取php的.ini文件就直接運(yùn)行
-m 列出經(jīng)過編譯的模塊
-i 顯示有關(guān)PHP構(gòu)建的信息
-l 檢查PHP腳本的句法
-s 以彩色方式顯示源代碼
-w 顯示去掉注釋之后的源代碼
-h 顯示幫助

交互模式
你還可以以交互方式使用PHP CLI,也就是輸入命令,馬上獲得結(jié)果。
要得到這種效果,只需要使用一個(gè)參數(shù)調(diào)用CLI可執(zhí)行文件就行了,就像下面這樣:

shell> /path/to/php -a
Interactive mode enabled

或者,你可以不使用-a參數(shù)就調(diào)用CLI可執(zhí)行文件,直接輸入完整的腳本或者代碼段。

-D來結(jié)束代碼段,并讓CLI來執(zhí)行它。見下面的例子:

shell> /path/to/php

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/25773.html

相關(guān)文章

  • PHP偽協(xié)議總結(jié)

    摘要:參考了這篇文章偽協(xié)議實(shí)現(xiàn)命令執(zhí)行的七種姿勢(shì),并根據(jù)自己理解進(jìn)行了總結(jié),也算是加深一下印象,方便以后使用。說明文件系統(tǒng)是使用的默認(rèn)封裝協(xié)議,展現(xiàn)了本地文件系統(tǒng)。允許直接訪問指定的文件描述符。 參考了這篇文章:php偽協(xié)議實(shí)現(xiàn)命令執(zhí)行的七種姿勢(shì),并根據(jù)自己理解進(jìn)行了總結(jié),也算是加深一下印象,方便以后使用。 file:// 協(xié)議 條件: allow_url_fopen:off/on...

    huaixiaoz 評(píng)論0 收藏0
  • PHP-CLI

    摘要:命令行參數(shù)詳解查看的所有命令行參數(shù),使用命令。在命令行參數(shù)中,提供了參數(shù),使用該參數(shù),可以列出當(dāng)前的配置文件信息。 PHP作為一門web開發(fā)語(yǔ)言,通常情況下我們都是在Web Server中運(yùn)行PHP,使用瀏覽器訪問,因此很少關(guān)注其命令行操作以及相關(guān)參數(shù)的使用,但是,特別是在類Unix操作系統(tǒng)上,PHP可以作為一門腳本語(yǔ)言執(zhí)行與shell類似的處理任務(wù)。php命令行(CLI)參數(shù)詳解 查...

    yck 評(píng)論0 收藏0
  • AngularJS簡(jiǎn)述

    流行框架 簡(jiǎn)介 angularjs是一款非常優(yōu)秀的前端高級(jí)JS框架,由谷歌團(tuán)隊(duì)開發(fā)維護(hù),能夠快速構(gòu)建單頁(yè)web應(yīng)用,化繁為簡(jiǎn) 無論是angularjs還是jQuery都是用原生JS封裝的 庫(kù):對(duì)代碼進(jìn)行封裝,調(diào)用封裝的方法,簡(jiǎn)化操作 傳統(tǒng)方式是用get方式獲取元素,然后點(diǎn)方法 jQuery庫(kù)實(shí)現(xiàn)了對(duì)獲取方式的封裝,對(duì)方法的封裝 框架:提供代碼書寫規(guī)則,按照規(guī)則去寫代碼,框架會(huì)幫我們實(shí)現(xiàn)響應(yīng)的功能...

    Jason 評(píng)論0 收藏0
  • PHP-7.1 源代碼學(xué)習(xí):php-cli 啟動(dòng)流程

    摘要:前言函數(shù)默認(rèn)構(gòu)建目標(biāo)為,相關(guān)代碼在目錄下,文件中能夠找到入口函數(shù),大概流程如下命令行參數(shù)處理初始化清理工作語(yǔ)言系統(tǒng)編程常用手法,通過中聲明函數(shù)指針類型的字段來實(shí)現(xiàn)類似面向?qū)ο笾谐橄箢惖母拍睿谖募锌梢哉业皆摻Y(jié)構(gòu)體的定義,這里只列出部分 前言 php cli main 函數(shù) configure & make 默認(rèn)構(gòu)建目標(biāo)為 php-cli,相關(guān)代碼在 sapi/cli 目錄下,php_...

    VishKozus 評(píng)論0 收藏0
  • PHP 運(yùn)行模式

    摘要:接下來會(huì)對(duì)其中五個(gè)比較常見的運(yùn)行模式進(jìn)行說明。模式是目前主流的服務(wù)運(yùn)行模式,擁有高效可靠的性能,推薦大家使用。由于微軟的排他性,只能運(yùn)行于環(huán)境。 SAPI 這里所說的 PHP 運(yùn)行模式, 其實(shí)指的是 SAPI (Server Application Programming Interface,服務(wù)端應(yīng)用編程端口 )。SAPI 為 PHP 提供了一個(gè)和外部通信的接口, PHP 就是通過這...

    OnlyMyRailgun 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<