PHP 锟斤拷锟斤拷锟斤拷锟斤拷模式

Table of Contents

锟接版本 4.3.0 锟斤拷始锟斤拷PHP 锟结供锟斤拷一锟斤拷锟斤拷锟斤拷锟酵碉拷 CLI SAPI锟斤拷Server Application Programming Interface锟斤拷锟斤拷锟斤拷锟接︼拷帽锟教端口o拷支锟街o拷锟斤拷为 CLI锟斤拷锟斤拷为 Command Line Interface锟斤拷锟斤拷锟斤拷锟斤拷锟叫接口★拷锟斤拷锟斤拷思锟藉,锟斤拷 CLI SAPI 模锟斤拷锟斤拷要锟斤拷锟斤拷 PHP 锟侥匡拷锟斤拷锟斤拷锟接︼拷谩锟�CLI SAPI 锟斤拷锟斤拷锟斤拷 CLI SAPI 模锟斤拷锟斤拷锟斤拷泻芏锟侥诧拷同之锟斤拷锟斤拷锟斤拷锟角斤拷锟节憋拷锟斤拷锟斤拷锟斤拷细锟斤拷锟斤拷锟斤拷值锟斤拷一锟斤拷锟斤拷牵锟�CLI 锟斤拷 CGI 锟角诧拷同锟斤拷 SAPI锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷之锟斤拷锟叫很多共同锟斤拷锟斤拷为锟斤拷

CLI SAPI 锟斤拷锟斤拷锟斤拷锟斤拷 PHP 4.2.0 锟芥本锟斤拷锟斤拷锟侥o拷锟斤拷锟皆撅拷只锟斤拷一锟斤拷实锟斤拷锟皆的版本锟斤拷锟斤拷锟斤拷要锟斤拷锟斤拷锟斤拷 ./configure 时锟斤拷锟斤拷 --enable-cli 锟斤拷锟斤拷锟斤拷锟斤拷 PHP 4.3.0 锟芥本锟斤拷始锟斤拷CLI SAPI 锟斤拷为锟斤拷锟斤拷式模锟介,--enable-cli 锟斤拷锟斤拷锟结被默锟较碉拷锟斤拷锟斤拷为 on锟斤拷也锟斤拷锟斤拷锟矫诧拷锟斤拷 --disable-cli 锟斤拷锟斤拷锟轿★拷

锟斤拷 PHP 4.3.0锟斤拷始锟斤拷CLI/CGI 锟斤拷锟斤拷锟斤拷执锟斤拷锟侥硷拷锟斤拷锟侥硷拷锟斤拷锟斤拷位锟矫猴拷锟角凤拷锟斤拷诨锟斤拷锟斤拷 PHP 锟斤拷系统锟较的帮拷装锟斤拷锟斤拷同锟斤拷锟斤拷默锟斤拷锟斤拷锟斤拷拢锟斤拷锟斤拷锟斤拷锟� make 时锟斤拷CGI 锟斤拷 CLI 锟斤拷锟结被锟斤拷锟诫并锟揭分憋拷锟斤拷锟斤拷锟� PHP 源锟侥硷拷目录锟斤拷 sapi/cgi/php 锟斤拷 sapi/cli/php 锟铰★拷锟斤拷锟斤拷注锟解到锟斤拷锟斤拷锟侥硷拷锟斤拷锟斤拷锟斤拷锟斤拷为锟斤拷 php锟斤拷锟斤拷 make install 锟侥癸拷锟斤拷锟叫会发锟斤拷什么取锟斤拷锟斤拷锟斤拷锟斤拷锟叫★拷锟斤拷锟斤拷锟斤拷锟斤拷玫锟绞憋拷锟窖★拷锟斤拷锟揭伙拷锟� SAPI 模锟介,锟斤拷 apxs锟斤拷锟斤拷锟斤拷使锟斤拷锟斤拷 --disable-cgi 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 make install 锟侥癸拷锟斤拷锟叫o拷CLI 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 {PREFIX}/bin/php锟斤拷锟斤拷锟斤拷 CGI 锟窖撅拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟角革拷位锟矫★拷锟斤拷耍锟斤拷锟斤拷纾拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 --with--apxs 锟斤拷锟斤拷锟斤拷 make install 锟侥癸拷锟斤拷锟叫o拷CLI 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 {PREFIX}/bin/php锟斤拷锟斤拷锟较o拷锟斤拷锟斤拷锟� CGI 执锟斤拷锟侥硷拷锟侥帮拷装锟斤拷锟斤拷锟斤拷 make install 之锟斤拷锟斤拷锟斤拷 make install-cli锟斤拷锟斤拷锟竭o拷也锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫硷拷锟斤拷 --disable-cgi 锟斤拷锟斤拷锟斤拷

Note:

锟斤拷锟斤拷 --enable-cli 锟斤拷 --enable-cgi 同时默锟斤拷锟斤拷效锟斤拷锟斤拷耍锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷屑锟斤拷锟� --enable-cli 锟斤拷使锟斤拷 CLI 锟斤拷 make install 锟斤拷锟斤拷锟叫憋拷锟斤拷锟斤拷锟斤拷 {PREFIX}/bin/php锟斤拷

锟斤拷 PHP 4.2.0 锟斤拷 PHP 4.2.3 之锟斤拷锟� Windows 锟斤拷锟叫帮拷锟叫o拷CLI 锟斤拷锟侥硷拷锟斤拷为 php-cli.exe锟斤拷锟斤拷同锟侥硷拷锟斤拷锟铰碉拷 php.exe 为 CGI锟斤拷锟斤拷 PHP 4.3.0 锟芥本锟斤拷始锟斤拷Windows 锟侥凤拷锟叫帮拷锟斤拷 CLI 锟斤拷执锟斤拷锟侥硷拷为 php.exe锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷为 cli 锟斤拷锟侥硷拷锟斤拷锟铰o拷锟斤拷 cli/php.exe锟斤拷锟斤拷 PHP 5 锟叫o拷CLI 锟斤拷锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷锟叫o拷锟斤拷为 php.exe锟斤拷锟斤拷 CGI 锟芥本锟斤拷为 php-cgi.exe锟斤拷

锟斤拷 PHP 5 锟斤拷一锟斤拷锟斤拷为 php-win.exe 锟斤拷锟斤拷锟侥硷拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷嗟憋拷锟� CLI 锟芥本锟斤拷锟斤拷锟斤拷 php-win 锟斤拷锟斤拷锟斤拷魏锟斤拷锟斤拷荩锟斤拷悴伙拷峁╋拷锟斤拷锟教拷锟斤拷锟斤拷岬拷锟�"DOS 锟斤拷锟斤拷"锟斤拷锟斤拷锟斤拷锟街凤拷式锟斤拷锟斤拷锟斤拷 php-gtk锟斤拷锟斤拷要使锟斤拷 --enable-cli-win32 选锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷

Note: 锟斤拷蔚锟街拷约锟绞癸拷玫锟斤拷锟斤拷母锟� SAPI锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟铰o拷锟斤拷锟斤拷 php -v 锟斤拷锟杰碉拷知锟斤拷 php 锟斤拷 CGI 锟斤拷锟斤拷 CLI锟斤拷锟斤拷慰锟斤拷锟斤拷锟� php_sapi_name() 锟皆硷拷锟斤拷锟斤拷 PHP_SAPI锟斤拷

Note:

锟斤拷 PHP 4.3.2 锟叫硷拷锟斤拷锟斤拷 Unix 锟斤拷 man 页锟芥。锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫硷拷锟斤拷 man php 锟斤拷锟介看锟斤拷

锟斤拷锟斤拷为 CLI SAPI 锟斤拷锟斤拷锟斤拷 CLI SAPI 模锟斤拷锟斤拷鹊锟斤拷锟斤拷锟斤拷锟斤拷锟�

  • 锟斤拷 CGI SAPI 锟斤拷同锟斤拷锟斤拷锟斤拷锟矫伙拷锟斤拷魏锟酵凤拷锟较拷锟�

    锟斤拷锟斤拷 CGI SAPI 锟结供锟斤拷取锟斤拷 HTTP 头锟斤拷息锟侥凤拷锟斤拷锟斤拷锟斤拷锟斤拷 CLI SAPI 锟叫诧拷锟斤拷锟斤拷锟斤拷锟斤拷锟狡的凤拷锟斤拷锟皆匡拷锟斤拷 HTTP 头锟斤拷息锟斤拷锟斤拷锟斤拷锟�

    CLI 默锟斤拷锟皆帮拷锟斤拷模式锟斤拷始锟斤拷锟斤拷为锟剿憋拷证锟斤拷锟斤拷锟皆o拷-q 锟斤拷 --no-header 锟斤拷锟斤拷为锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷然锟斤拷锟斤拷锟斤拷使锟矫匡拷锟斤拷使锟矫旧碉拷 CGI 锟脚憋拷锟斤拷

    锟斤拷锟斤拷锟斤拷时锟斤拷锟斤拷锟斤拷压锟斤拷锟侥柯硷拷锟轿拷疟锟斤拷牡锟角澳柯硷拷锟斤拷锟斤拷锟绞癸拷锟� -C 锟斤拷 --no-chdir 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 CGI 模式锟斤拷锟斤拷

    锟斤拷锟斤拷时锟斤拷锟斤拷锟斤拷谋锟斤拷拇锟斤拷锟斤拷锟较拷锟斤拷锟� HTML 锟斤拷式锟斤拷锟斤拷

  • CLI SAPI 强锟狡革拷锟斤拷锟斤拷 php.ini 锟叫碉拷某些锟斤拷锟矫o拷锟斤拷为锟斤拷些锟斤拷锟斤拷锟斤拷锟斤拷腔锟斤拷锟斤拷锟斤拷锟矫伙拷锟斤拷锟斤拷锟侥★拷

    锟斤拷锟斤拷 php.ini 锟斤拷锟斤拷选锟斤拷
    锟斤拷锟斤拷选锟斤拷 CLI SAPI 默锟斤拷值 锟斤拷注
    html_errors FALSE 锟斤拷锟斤拷锟斤拷锟� HTML 锟斤拷欠锟斤拷锟绞癸拷贸锟斤拷锟斤拷锟较拷锟斤拷锟斤拷遥锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥讹拷锟斤拷锟斤拷锟斤拷息锟斤拷十锟斤拷锟斤拷锟窖的★拷锟斤拷私锟斤拷锟窖★拷锟斤拷默锟斤拷值锟斤拷为 FALSE锟斤拷
    implicit_flush TRUE 锟斤拷锟斤拷锟斤拷锟斤拷模式锟铰o拷锟斤拷锟斤拷锟斤拷锟斤拷 print 锟斤拷 echo 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫达拷锟斤拷锟斤拷锟剿o拷锟斤拷锟斤拷锟斤拷锟轿何地伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷希锟斤拷锟接伙拷锟斤拷锟斤拷票锟阶硷拷锟斤拷锟斤拷锟斤拷然锟斤拷锟斤拷使锟斤拷 output buffering 锟斤拷锟斤拷锟筋。
    max_execution_time 0锟斤拷锟斤拷锟斤拷值锟斤拷 锟斤拷锟斤拷锟斤拷锟斤拷腔锟斤拷锟斤拷锟绞癸拷锟� PHP 锟斤拷锟斤拷锟斤拷目锟斤拷锟斤拷裕锟斤拷锟斤拷锟斤拷锟斤拷时锟戒被锟斤拷锟斤拷为锟斤拷锟斤拷锟斤拷值锟斤拷为 web 锟斤拷锟斤拷锟斤拷应锟矫筹拷锟斤拷锟斤拷锟街伙拷锟斤拷锟斤拷屑锟斤拷锟斤拷锟绞憋拷洌拷锟斤拷锟斤拷应锟矫筹拷锟斤拷锟斤拷锟斤拷锟绞憋拷锟斤拷锟杰会长锟侥多。
    register_argc_argv TRUE

    锟斤拷锟节革拷锟斤拷锟斤拷为 TRUE锟斤拷锟斤拷锟斤拷锟角匡拷锟斤拷锟斤拷 CLI SAPI 锟叫凤拷锟绞碉拷 argc锟斤拷锟斤拷锟酵革拷应锟矫筹拷锟斤拷锟斤拷锟斤拷母锟斤拷锟斤拷锟斤拷锟� argv锟斤拷锟斤拷锟斤拷锟斤拷实锟绞诧拷锟斤拷锟斤拷锟斤拷锟介)锟斤拷

    锟斤拷锟斤拷 PHP 4.3.0锟斤拷锟斤拷使锟斤拷 CLI SAPI 时锟斤拷PHP 锟斤拷锟斤拷 $argc 锟斤拷 $argv 锟窖憋拷注锟结并锟斤拷锟借定锟剿讹拷应锟斤拷值锟斤拷锟斤拷锟斤拷锟斤拷之前锟侥版本锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 CGI 锟斤拷锟斤拷 模锟斤拷 锟芥本锟叫的斤拷锟斤拷锟斤拷锟斤拷锟节斤拷 PHP 锟斤拷锟斤拷锟斤拷选锟斤拷 register_globals 锟斤拷为 on锟斤拷锟斤拷锟剿版本锟斤拷 register_globals 锟借定锟斤拷锟解,锟斤拷锟斤拷锟斤拷时通锟斤拷锟斤拷锟斤拷 $_SERVER 锟斤拷锟斤拷 $HTTP_SERVER_VARS 锟斤拷锟斤拷锟斤拷锟斤拷锟角★拷锟斤拷锟界:$_SERVER['argv']

    Note:

    锟斤拷些锟斤拷锟斤拷锟睫凤拷锟斤拷锟斤拷锟斤拷锟侥硷拷 php.ini 锟斤拷锟轿猴拷指锟斤拷锟斤拷锟斤拷锟斤拷锟侥硷拷锟叫憋拷锟斤拷始锟斤拷为锟斤拷锟斤拷值锟斤拷锟斤拷些默锟斤拷值锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷锟斤拷锟斤拷锟斤拷谋洹o拷锟斤拷锟斤拷锟斤拷锟斤拷堑锟街碉拷锟斤拷锟斤拷诔锟斤拷锟斤拷锟斤拷械墓锟斤拷锟斤拷斜锟斤拷谋洌拷锟斤拷芏锟斤拷诟锟斤拷锟斤拷泄锟斤拷锟斤拷锟剿碉拷锟斤拷锟叫╋拷锟斤拷锟斤拷锟斤拷锟矫伙拷锟斤拷锟斤拷锟侥o拷锟斤拷

  • 为锟剿硷拷锟斤拷锟斤拷腔锟斤拷锟斤拷碌墓锟斤拷锟斤拷锟斤拷锟斤拷嵌锟斤拷锟斤拷锟斤拷锟斤拷鲁锟斤拷锟斤拷锟�

    CLI 专锟矫筹拷锟斤拷
    锟斤拷锟斤拷锟斤拷锟斤拷 锟斤拷 锟斤拷
    STDIN 一锟斤拷锟窖打开碉拷指锟斤拷 stdin 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟铰凤拷锟斤拷锟斤拷锟斤拷锟矫o拷
    <?php

    $stdin 
    fopen('php://stdin''r');

    ?>
    锟斤拷锟斤拷锟斤拷 stdin 锟斤拷取一锟斤拷锟斤拷锟捷o拷锟斤拷锟斤拷使锟斤拷
    <?php
    $line 
    trim(fgets(STDIN)); // 锟斤拷 STDIN 锟斤拷取一锟斤拷
    fscanf(STDIN"%d\n"$number); // 锟斤拷 STDIN 锟斤拷取锟斤拷锟斤拷
    ?>
    STDOUT 一锟斤拷锟窖打开碉拷指锟斤拷 stdout 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟铰凤拷式锟斤拷锟斤拷锟矫o拷
    <?php

    $stdout 
    fopen('php://stdout''w');

    ?>
    STDERR 一锟斤拷锟窖打开碉拷指锟斤拷 stderr 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟铰凤拷式锟斤拷锟斤拷锟矫o拷
    <?php

    $stderr 
    fopen('php://stderr''w');

    ?>

    锟斤拷锟斤拷锟斤拷锟较筹拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟皆硷拷锟斤拷锟斤拷指锟斤拷锟斤拷锟斤拷 stderr 锟斤拷锟斤拷锟斤拷只锟斤拷虻サ锟绞癸拷锟斤拷锟叫╋拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟街革拷锟�

    php -r 'fwrite(STDERR, "stderr\n");'
    锟斤拷锟斤拷锟皆硷拷锟斤拷锟截憋拷锟斤拷些锟斤拷锟斤拷PHP 锟斤拷锟皆讹拷锟斤拷锟斤拷锟叫╋拷锟斤拷锟斤拷锟�

  • CLI SAPI 锟斤拷锟斤拷锟斤拷锟斤拷前目录锟斤拷为锟斤拷锟斤拷锟叫的脚憋拷锟斤拷锟节碉拷目录锟斤拷

    锟斤拷锟铰凤拷锟斤拷锟斤拷示锟剿憋拷模锟斤拷锟斤拷 CGI SAPI 模锟斤拷之锟斤拷牟锟酵拷锟�

    <?php
    // 锟斤拷为 test.php 锟侥简单诧拷锟皆筹拷锟斤拷
    echo getcwd(), "\n";
    ?>

    锟斤拷使锟斤拷 CGI 锟芥本时锟斤拷锟斤拷锟斤拷锟轿�

    $ pwd
    /tmp
    
    $ php-cgi -f another_directory/test.php
    /tmp/another_directory
    

    锟斤拷锟皆匡拷锟皆匡拷锟斤拷 PHP 锟斤拷锟斤拷前目录锟侥筹拷锟剿刚革拷锟斤拷锟叫癸拷锟侥脚憋拷锟斤拷锟节碉拷目录锟斤拷

    使锟斤拷 CLI SAPI 模式锟斤拷锟矫碉拷锟斤拷

    $ pwd
    /tmp
    
    $ php -q another_directory/test.php
    /tmp
    
    锟斤拷使锟斤拷锟斤拷锟斤拷锟斤拷 PHP 锟斤拷写锟斤拷枪锟斤拷锟绞憋拷锟斤拷锟剿很达拷谋锟斤拷锟斤拷锟�

    Note:

    锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷时锟斤拷锟斤拷 CGI SAPI 锟斤拷锟斤拷 -C 锟斤拷锟斤拷锟斤拷使锟斤拷支锟斤拷 CLI SAPI 锟侥癸拷锟杰★拷

锟斤拷锟斤拷锟斤拷 PHP 锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷锟斤拷 php.exe 锟斤拷锟斤拷锟结供锟斤拷锟斤拷锟斤拷锟斤拷模式锟斤拷选锟斤拷锟斤拷锟斤拷锟斤拷锟绞憋拷锟斤拷锟斤拷锟斤拷写锟� -h 锟斤拷锟斤拷锟斤拷 PHP 锟斤拷锟斤拷锟斤拷锟斤拷询锟斤拷些锟斤拷锟斤拷锟斤拷

Usage: php [options] [-f] <file> [--] [args...]
       php [options] -r <code> [--] [args...]
       php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
       php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
       php [options] -- [args...]
       php [options] -a

  -a               Run interactively
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -s               Display colour syntax highlighted source.
  -v               Version number
  -w               Display source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin

CLI SAPI 模锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟街诧拷同锟侥凤拷锟斤拷锟斤拷锟斤拷取要锟斤拷锟叫碉拷 PHP 锟斤拷锟诫:

  1. 锟斤拷 PHP 锟斤拷锟斤拷指锟斤拷锟侥硷拷锟斤拷

    php my_script.php
    
    php -f my_script.php
    

    锟斤拷锟斤拷锟斤拷锟街凤拷锟斤拷锟斤拷使锟矫伙拷使锟斤拷 -f 锟斤拷锟斤拷锟斤拷锟斤拷锟杰癸拷锟斤拷锟叫革拷锟斤拷锟斤拷 my_script.php 锟侥硷拷锟斤拷锟斤拷锟斤拷选锟斤拷锟轿猴拷锟侥硷拷锟斤拷锟斤拷锟叫o拷指锟斤拷锟斤拷 PHP 锟脚憋拷锟斤拷锟角憋拷锟斤拷要锟斤拷 .php 为锟斤拷展锟斤拷锟斤拷锟斤拷锟角匡拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷募锟斤拷锟斤拷锟斤拷锟秸癸拷锟斤拷锟�

  2. 锟斤拷锟斤拷锟斤拷锟斤拷直锟斤拷锟斤拷锟斤拷 PHP 锟斤拷锟诫。

    php -r 'print_r(get_defined_constants());'
    

    锟斤拷使锟斤拷锟斤拷锟街凤拷锟斤拷时锟斤拷锟斤拷注锟斤拷锟斤拷潜锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟脚碉拷使锟矫★拷

    Note:

    锟斤拷锟斤拷细锟侥讹拷锟斤拷锟较凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫达拷锟斤拷时没锟叫匡拷始锟酵斤拷锟斤拷锟侥憋拷欠锟斤拷锟斤拷锟斤拷锟� -r 锟斤拷锟斤拷锟斤拷锟斤拷些锟斤拷欠锟斤拷遣锟斤拷锟揭拷模锟斤拷锟斤拷锟斤拷锟斤拷腔岬硷拷锟斤拷锓拷锟斤拷锟�

  3. 通锟斤拷锟斤拷准锟斤拷锟诫(stdin锟斤拷锟结供锟斤拷要锟斤拷锟叫碉拷 PHP 锟斤拷锟诫。

    锟斤拷锟斤拷锟矫凤拷锟结供锟剿非筹拷强锟斤拷墓锟斤拷埽锟绞癸拷每锟斤拷锟斤拷锟斤拷路锟斤拷锟斤拷锟绞撅拷锟斤拷锟教拷锟斤拷锟斤拷锟� PHP 锟斤拷锟诫并通锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷些锟斤拷锟诫:

    $ some_application | some_filter | php | sort -u >final_output.txt
    

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫达拷锟斤拷姆锟斤拷锟斤拷锟斤拷锟酵笔癸拷谩锟�

锟斤拷锟斤拷锟叫碉拷锟斤拷锟接︼拷贸锟斤拷锟揭伙拷锟斤拷锟絇HP 锟侥讹拷锟斤拷锟斤拷锟侥硷拷锟斤拷php.exe 锟侥硷拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫碉拷 PHP 锟脚憋拷锟杰癸拷锟斤拷锟斤拷一系锟叫的诧拷锟斤拷锟斤拷PHP 没锟斤拷锟斤拷锟狡达拷锟酵革拷锟脚憋拷锟斤拷锟斤拷牟锟斤拷锟斤拷母锟斤拷锟斤拷锟斤拷锟角筹拷锟斤拷锟斤拷锟斤拷锟斤拷械锟斤拷址锟斤拷锟斤拷锟斤拷锟斤拷疲锟斤拷锟酵拷锟斤拷锟斤拷锟斤拷岢拷锟斤拷锟斤拷锟斤拷疲锟斤拷锟斤拷锟斤拷莞锟斤拷疟锟斤拷牟锟斤拷锟斤拷锟斤拷锟饺拷直锟斤拷锟� $argv 锟叫伙拷取锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟铰憋拷为锟斤拷某锟皆蔽拷疟锟斤拷锟斤拷锟斤拷疲锟斤拷锟� PHP 锟斤拷锟斤拷锟斤拷锟皆憋拷准锟斤拷锟斤拷锟街憋拷锟斤拷锟� -r 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫凤拷式锟斤拷锟斤拷时锟斤拷锟斤拷锟斤拷锟斤拷为"-"锟斤拷锟斤拷锟斤拷锟解,全锟街憋拷锟斤拷 $argc 锟斤拷锟斤拷 $argv 锟斤拷锟斤拷锟叫筹拷员锟斤拷锟斤拷锟侥革拷锟斤拷锟斤拷锟斤拷锟角达拷锟酵革拷锟脚憋拷锟斤拷锟斤拷牟锟斤拷锟斤拷母锟斤拷锟斤拷锟斤拷锟�

只要锟斤拷锟酵革拷锟脚憋拷锟侥诧拷锟斤拷锟斤拷锟斤拷锟斤拷 - 锟斤拷锟脚匡拷头锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷注锟斤拷什么锟斤拷锟斤拷疟锟斤拷锟斤拷锟斤拷锟� - 锟斤拷头锟侥诧拷锟斤拷锟结导锟铰达拷锟斤拷锟斤拷为 PHP 锟斤拷锟斤拷为应锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷些锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟矫诧拷锟斤拷锟叫憋拷指锟斤拷锟� -- 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟解。锟斤拷 PHP 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷螅梅锟斤拷藕锟斤拷锟斤拷械牟锟斤拷锟斤拷锟斤拷岜辉拷锟斤拷锟斤拷透锟斤拷疟锟斤拷锟斤拷锟�

# 锟斤拷锟斤拷锟斤拷锟筋将锟斤拷锟斤拷锟斤拷锟斤拷 PHP 锟斤拷锟诫,锟斤拷只锟斤拷示 PHP 锟斤拷锟斤拷锟斤拷模式锟斤拷使锟斤拷说锟斤拷锟斤拷
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# 锟斤拷锟斤拷锟斤拷锟筋将锟斤拷锟�"-h"锟斤拷锟斤拷锟斤拷锟酵革拷锟脚憋拷锟斤拷锟斤拷PHP 锟斤拷锟斤拷锟斤拷示锟斤拷锟斤拷锟斤拷模式锟斤拷使锟斤拷说锟斤拷锟斤拷
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}

锟斤拷锟斤拷之锟解,锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷锟斤拷锟斤拷 PHP 锟斤拷锟斤拷锟斤拷墙疟锟斤拷锟斤拷锟斤拷锟斤拷锟叫匆伙拷锟斤拷疟锟斤拷锟斤拷锟斤拷诘锟揭伙拷锟斤拷锟� #!/usr/bin/php 锟斤拷头锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 PHP 锟斤拷始锟酵斤拷尾锟斤拷欠锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟� PHP 锟斤拷锟诫,然锟斤拷为锟斤拷锟侥硷拷锟斤拷锟斤拷锟斤拷确锟斤拷锟斤拷锟斤拷锟斤拷锟皆o拷锟斤拷锟界:chmod +x test锟斤拷锟斤拷锟矫凤拷锟斤拷锟斤拷锟斤拷使锟矫革拷锟侥硷拷锟杰癸拷锟斤拷锟斤拷墙疟锟斤拷锟� PERL 锟脚憋拷一锟斤拷锟斤拷直锟斤拷执锟叫★拷

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

锟斤拷锟斤拷锟斤拷募锟斤拷锟轿� test 锟斤拷锟斤拷锟斤拷锟斤拷锟节碉拷前目录锟铰o拷锟斤拷锟斤拷锟斤拷锟斤拷锟铰诧拷锟斤拷锟斤拷

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

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥o拷锟斤拷锟斤拷媒疟锟斤拷锟斤拷锟斤拷锟� - 锟斤拷头锟侥诧拷锟斤拷时锟斤拷锟脚憋拷锟斤拷然锟杰癸拷锟斤拷锟斤拷锟斤拷锟叫★拷

PHP 4.3.3 锟斤拷锟斤拷锟斤拷效锟侥筹拷选锟斤拷:

锟斤拷锟斤拷锟斤拷选锟斤拷
选锟斤拷锟斤拷锟斤拷 锟斤拷锟斤拷锟斤拷 说锟斤拷
-a --interactive

锟斤拷锟斤拷式锟斤拷锟斤拷 PHP锟斤拷锟斤拷锟斤拷锟斤拷锟� PHP 时锟斤拷锟斤拷锟斤拷 Readline 锟斤拷展锟斤拷Windows 锟铰诧拷锟斤拷锟矫o拷锟斤拷锟角斤拷锟斤拷玫锟揭伙拷锟斤拷芎玫锟斤拷锟角o拷锟斤拷锟斤拷一锟斤拷锟皆讹拷锟斤拷傻墓锟斤拷埽锟斤拷锟斤拷锟斤拷锟斤拷锟节硷拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞憋拷颍锟斤拷锟� TAB 锟斤拷锟斤拷PHP 锟斤拷锟皆讹拷锟斤拷筛帽锟斤拷锟斤拷锟斤拷锟斤拷约锟斤拷锟斤拷锟斤拷锟绞凤拷锟铰硷拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷录锟斤拷锟斤拷锟斤拷省锟斤拷锟绞凤拷锟铰硷拷锟斤拷锟� ~/.php_history 锟侥硷拷锟叫★拷

Note:

通锟斤拷 auto_prepend_file 锟斤拷 auto_append_file 锟斤拷锟斤拷锟斤拷锟侥硷拷锟节达拷模式锟铰会被锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷些锟斤拷锟狡o拷锟斤拷锟界函锟斤拷锟斤拷锟斤拷锟节憋拷锟斤拷锟斤拷之前锟斤拷锟藉。

-c --php-ini

锟矫该诧拷锟斤拷锟斤拷锟斤拷锟斤拷指锟斤拷一锟斤拷锟斤拷锟斤拷 php.ini 锟侥硷拷锟斤拷目录锟斤拷锟斤拷锟斤拷直锟斤拷指锟斤拷一锟斤拷锟皆讹拷锟斤拷锟� INI 锟侥硷拷锟斤拷锟斤拷锟侥硷拷锟斤拷锟斤拷锟皆诧拷锟斤拷 php.ini锟斤拷锟斤拷锟斤拷锟界:

$ php -c /custom/directory/ my_script.php

$ php -c /custom/directory/custom-file.ini my_script.php
锟斤拷锟斤拷锟街革拷锟斤拷锟窖★拷睿琍HP 锟斤拷锟斤拷默锟斤拷位锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷

-n --no-php-ini

锟斤拷全锟斤拷锟斤拷 php.ini锟斤拷锟剿诧拷锟斤拷锟斤拷 PHP 4.3.0 锟皆猴拷锟斤拷效锟斤拷

-d --define

锟矫该诧拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟轿何匡拷锟斤拷锟斤拷 php.ini 锟侥硷拷锟斤拷锟斤拷锟矫碉拷锟斤拷锟斤拷选锟斤拷锟街碉拷锟斤拷锟斤拷锓ㄎ拷锟�

-d configuration_directive[=value]

锟斤拷锟接o拷锟斤拷锟斤拷锟皆拷锟斤拷锟斤拷锟斤拷锟斤拷示锟斤拷锟斤拷

# 取值锟斤拷锟街憋拷省锟皆o拷锟斤拷锟斤拷锟斤拷锟斤拷锟窖★拷锟斤拷锟轿� "1"
$ php -d max_execution_time
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"

# 取值锟斤拷锟斤拷为锟秸白o拷锟斤拷锟斤拷锟斤拷锟斤拷锟窖★拷锟斤拷锟轿� ""
php -d max_execution_time=
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""

# 锟斤拷锟斤拷选锟筋将锟斤拷锟斤拷锟矫筹拷为锟轿猴拷 '=' 锟街凤拷之锟斤拷锟街�
$  php -d max_execution_time=20
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(2) "20"
$  php
        -d max_execution_time=doesntmakesense
        -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(15) "doesntmakesense"

-e --profile-info

锟斤拷锟斤拷锟斤拷展锟斤拷息模式锟斤拷锟斤拷锟斤拷锟节碉拷锟皆o拷锟斤拷锟皆★拷

-f --file

锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 -f 选锟斤拷锟斤拷锟斤拷锟斤拷募锟斤拷锟斤拷锟斤拷貌锟斤拷锟轿拷锟窖★拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞★拷裕锟斤拷锟街革拷锟斤拷锟揭拷锟斤拷械锟斤拷募锟斤拷锟斤拷锟斤拷伞锟�

-h and -? --help and --usage 使锟矫该诧拷锟斤拷锟斤拷锟斤拷锟皆得碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫诧拷锟斤拷锟斤拷锟叫憋拷锟斤拷些锟斤拷锟斤拷锟斤拷锟矫的硷拷锟斤拷锟斤拷锟斤拷
-i --info 锟斤拷锟斤拷锟斤拷锟叫诧拷锟斤拷锟斤拷锟斤拷锟� phpinfo() 锟斤拷锟斤拷锟斤拷锟斤拷示锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 PHP 没锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷执锟斤拷 php -i 锟斤拷锟斤拷锟斤拷锟介看锟斤拷锟斤拷息锟斤拷锟街帮拷锟斤拷叨锟接︼拷牡胤锟斤拷欠锟斤拷锟斤拷魏未锟斤拷锟斤拷锟较拷锟斤拷锟斤拷锟斤拷注锟解当使锟斤拷 CGI 锟斤拷锟斤拷时锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟轿� HTML 锟斤拷式锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷息篇锟斤拷锟较达拷
-l --syntax-check

锟矫诧拷锟斤拷锟结供锟剿讹拷指锟斤拷 PHP 锟斤拷锟斤拷锟斤拷锟斤拷锓拷锟斤拷姆锟斤拷锟侥凤拷锟斤拷锟斤拷锟斤拷锟斤拷晒锟斤拷锟斤拷锟斤拷锟斤拷准锟斤拷锟叫达拷锟� No syntax errors detected in <filename> 锟街凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷欠锟斤拷锟街滴� 0锟斤拷锟斤拷锟绞э拷埽锟斤拷锟斤拷锟斤拷 Errors parsing <filename> 锟皆硷拷锟节诧拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷息锟斤拷锟斤拷准锟斤拷锟斤拷锟酵憋拷锟角凤拷锟斤拷值锟斤拷锟斤拷锟斤拷锟斤拷为 255锟斤拷

锟矫诧拷锟斤拷锟斤拷锟睫凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟轿达拷锟斤拷搴拷锟斤拷锟斤拷锟斤拷锟斤拷也希锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞癸拷锟� -f 锟斤拷锟斤拷锟斤拷

Note:

锟矫诧拷锟斤拷锟斤拷锟杰猴拷 -r 一同使锟矫★拷

-m --modules

使锟矫该诧拷锟斤拷锟斤拷PHP 锟斤拷锟斤拷印锟斤拷锟斤拷锟斤拷锟皆硷拷锟窖硷拷锟截碉拷 PHP 锟斤拷 Zend 模锟介:

$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

-r --run

使锟矫该诧拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫碉拷锟斤拷 PHP 锟斤拷锟诫。锟斤拷锟斤拷锟斤拷锟斤拷 PHP 锟斤拷锟斤拷始锟酵斤拷锟斤拷锟斤拷识锟斤拷锟斤拷<?php 锟斤拷 ?>锟斤拷锟斤拷锟斤拷锟津将会导锟斤拷锟斤法锟斤拷锟斤拷锟斤拷锟斤拷

Note:

使锟斤拷锟斤拷锟斤拷锟斤拷式锟斤拷 PHP 时锟斤拷应注锟斤拷锟斤拷锟斤拷锟斤拷腔锟斤拷锟斤拷锟斤拷械锟斤拷锟斤拷锟斤拷胁锟斤拷锟斤拷婊伙拷锟斤拷突锟斤拷

锟斤拷示锟斤法锟斤拷锟斤拷锟斤拷锟斤拷姆锟斤拷锟�

$ php -r "$foo = get_defined_constants();"
Command line code(1) : Parse error - parse error, unexpected '='
锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷诩锟绞故癸拷锟斤拷锟剿拷锟斤拷锟� "锟斤拷sh/bash 锟斤拷然实锟斤拷锟剿诧拷锟斤拷锟芥换锟斤拷锟斤拷锟斤拷 $foo 没锟叫憋拷锟斤拷锟藉,锟斤拷锟芥换锟斤拷锟斤拷锟斤拷锟节碉拷位锟矫憋拷锟斤拷丝锟斤拷址锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷时锟斤拷实锟绞憋拷 PHP 锟斤拷取锟侥达拷锟斤拷为锟斤拷
$ php -r " = get_defined_constants();"
锟斤拷确锟侥凤拷锟斤拷锟斤拷使锟矫碉拷锟斤拷锟斤拷 '锟斤拷锟斤拷锟矫碉拷锟斤拷锟斤拷锟斤拷锟矫碉拷锟街凤拷锟斤拷锟叫o拷锟斤拷锟斤拷锟斤拷锟结被 sh/bash 锟斤拷原锟斤拷锟斤拷原值锟斤拷
$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
  ["E_ERROR"]=>
  int(1)
  ["E_WARNING"]=>
  int(2)
  ["E_PARSE"]=>
  int(4)
  ["E_NOTICE"]=>
  int(8)
  ["E_CORE_ERROR"]=>
  [...]
锟斤拷锟绞癸拷玫锟斤拷锟角诧拷锟斤拷 sh/bash锟斤拷锟斤拷锟杰伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟解。锟诫将锟斤拷锟斤拷锟斤拷 Bug 锟斤拷 » https://bugs.php.net/ 锟斤拷锟芥。注锟解,锟斤拷锟斤拷图锟斤拷 shell 锟斤拷锟斤拷锟矫碉拷锟斤拷锟斤拷锟叫伙拷锟斤拷使锟矫凤拷斜锟斤拷时锟斤拷然锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟解。

Note:

-r 锟斤拷 CLI SAPI 锟斤拷锟斤拷效锟斤拷锟斤拷 CGI SAPI 锟斤拷锟斤拷效锟斤拷

Note:

锟斤拷选锟斤拷只锟斤拷锟节非筹拷锟斤拷锟斤拷锟斤拷锟斤拷途锟斤拷锟斤拷锟揭恍╋拷锟斤拷锟街革拷睿拷锟斤拷锟� auto_prepend_file 锟斤拷 auto_append_file锟斤拷锟节达拷模式锟铰憋拷锟斤拷锟皆★拷

-B --process-begin

锟节达拷锟斤拷 stdin 之前锟斤拷执锟斤拷 PHP 锟斤拷锟诫。PHP 5 锟铰加★拷

-R --process-code

锟斤拷每锟斤拷锟斤拷锟斤拷锟叫讹拷执锟斤拷 PHP 锟斤拷锟诫。PHP 5 锟铰加★拷

锟斤拷模式锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟�$argn 锟斤拷 $argi锟斤拷$argn 锟斤拷锟斤拷 PHP 锟斤拷前锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷荩锟斤拷锟� $argi 锟斤拷锟斤拷锟斤拷锟斤拷泻拧锟�

-F --process-file

锟斤拷每锟斤拷锟斤拷锟斤拷锟叫讹拷执锟斤拷 PHP 锟侥硷拷锟斤拷PHP 5 锟铰加★拷

-E --process-end

锟节达拷锟斤拷锟斤拷锟斤拷锟斤拷锟街达拷械锟� PHP 锟斤拷锟诫。PHP 5 锟铰加★拷

使锟斤拷 -B 锟斤拷-R 锟斤拷 -E 选锟斤拷锟斤拷锟斤拷锟斤拷一锟斤拷锟斤拷目锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟接★拷

$ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";'
Total Lines: 37328

-s --syntax-highlight and --syntax-highlight

锟斤拷示锟斤拷锟斤法锟斤拷锟斤拷色锟绞碉拷源锟斤拷锟诫。

锟矫诧拷锟斤拷使锟斤拷锟节斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷为锟斤拷锟斤拷锟斤拷一锟斤拷 HTML 锟斤拷锟斤拷锟芥本锟斤拷锟斤拷锟斤拷锟叫达拷锟斤拷锟阶硷拷锟斤拷锟斤拷锟斤拷注锟斤拷霉锟斤拷锟斤拷锟斤拷锟斤拷锟街伙拷锟斤拷锟斤拷锟斤拷锟揭伙拷锟� <code> [...] </code> 锟斤拷 HTML 锟斤拷堑目椋拷锟斤拷锟斤拷锟斤拷锟斤拷魏蔚锟� HTML 头锟斤拷

Note:

锟斤拷选锟筋不锟杰猴拷 -r 锟斤拷锟斤拷同时使锟矫★拷

-v --version

锟斤拷 PHP锟斤拷PHP SAPI 锟斤拷 Zend 锟侥版本锟斤拷息写锟斤拷锟阶硷拷锟斤拷锟斤拷锟斤拷锟界:

$ php -v
PHP 4.3.0 (cli), Copyright (c) 1997-2002 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2002 Zend Technologies

-w --strip

锟斤拷示锟斤拷去锟斤拷注锟酵和讹拷锟斤拷瞻椎锟皆达拷锟斤拷搿�

Note:

锟斤拷选锟筋不锟杰猴拷 -r 锟斤拷锟斤拷同时使锟矫★拷

-z --zend-extension

锟斤拷锟斤拷 Zend 锟斤拷展锟解。锟斤拷锟斤拷锟斤拷锟斤拷锟揭伙拷锟斤拷募锟斤拷锟斤拷锟絇HP 锟斤拷锟斤拷图锟接碉拷前系统锟斤拷展锟斤拷锟侥拷锟铰凤拷锟斤拷锟斤拷锟� Linux 系统锟铰o拷锟斤拷路锟斤拷通锟斤拷锟斤拷 /etc/ld.so.conf 指锟斤拷锟斤拷锟斤拷锟截革拷锟斤拷展锟解。锟斤拷锟斤拷锟揭伙拷锟斤拷锟斤拷锟铰凤拷锟街革拷锟斤拷募锟斤拷锟斤拷锟斤拷虿换锟绞癸拷锟较低筹拷锟斤拷锟秸癸拷锟侥拷锟铰凤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟铰凤拷锟街革拷锟斤拷锟斤拷募锟斤拷锟斤拷锟斤拷锟� PHP 锟斤拷锟斤拷图锟节碉拷前目录锟斤拷锟斤拷锟侥柯硷拷锟斤拷锟斤拷锟秸癸拷狻�

PHP 锟斤拷锟斤拷锟斤拷锟斤拷模式锟斤拷使锟斤拷 PHP 锟脚憋拷锟斤拷锟斤拷全锟斤拷锟斤拷锟斤拷 web 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫★拷锟斤拷锟绞癸拷锟� Unix 系统锟斤拷锟斤拷要锟斤拷 PHP 锟脚憋拷锟斤拷锟斤拷前锟斤拷锟斤拷锟揭伙拷锟斤拷锟斤拷锟侥达拷锟诫,使锟斤拷锟斤拷锟杰癸拷锟斤拷执锟叫o拷锟斤拷锟斤拷系统锟斤拷锟斤拷知锟斤拷锟斤拷锟侥革拷锟斤拷锟斤拷去锟斤拷锟叫该脚憋拷锟斤拷锟斤拷 Windows 平台锟铰匡拷锟皆斤拷 php.exe 锟斤拷 .php 锟侥硷拷锟斤拷双锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟揭诧拷锟斤拷员锟叫匆伙拷锟斤拷锟斤拷锟斤拷锟斤拷募锟斤拷锟斤拷锟� PHP 执锟叫脚憋拷锟斤拷为 Unix 系统锟斤拷锟接的碉拷一锟叫达拷锟诫不锟斤拷影锟斤拷媒疟锟斤拷锟� Windows 锟铰碉拷锟斤拷锟叫o拷锟斤拷锟揭诧拷锟斤拷锟斤拷酶梅锟斤拷锟斤拷锟叫达拷锟狡教拷慕疟锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟揭伙拷锟斤拷虻サ锟� PHP 锟斤拷锟斤拷锟叫筹拷锟斤拷姆锟斤拷锟斤拷锟�

Example #1 锟斤拷图锟斤拷锟斤拷锟斤拷锟叫凤拷式锟斤拷锟叫碉拷 PHP 锟脚憋拷锟斤拷script.php锟斤拷

#!/usr/bin/php
<?php

if ($argc != || in_array($argv[1], array('--help''-help''-h''-?'))) {
?>

This is a command line PHP script with one option.

  Usage:
  <?php echo $argv[0]; ?> <option>

  <option> can be some word you would like
  to print out. With the --help, -help, -h,
  or -? options, you can get this help.

<?php
} else {
    echo 
$argv[1];
}
?>

锟斤拷锟斤拷锟较脚憋拷锟叫o拷锟矫碉拷一锟斤拷锟斤拷锟斤拷拇锟斤拷锟斤拷锟街革拷锟斤拷锟斤拷募锟接︼拷锟斤拷锟� PHP 锟斤拷执锟叫★拷锟斤拷锟斤拷锟斤拷使锟斤拷 CLI 锟侥版本锟斤拷锟斤拷瞬锟斤拷锟斤拷锟� HTTP 头锟斤拷息锟斤拷锟斤拷锟斤拷锟斤拷锟� PHP 锟斤拷写锟斤拷锟斤拷锟斤拷应锟矫筹拷锟斤拷时锟斤拷锟斤拷锟斤拷使锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷$argc 锟斤拷 $argv锟斤拷前锟斤拷一锟斤拷锟斤拷值锟角比诧拷锟斤拷锟斤拷锟斤拷锟斤拷 1 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟叫的脚憋拷锟斤拷锟斤拷锟斤拷锟斤拷锟揭诧拷锟斤拷锟斤拷锟揭伙拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷诙锟斤拷锟斤拷前锟斤拷锟斤拷胁锟斤拷锟斤拷锟斤拷锟斤拷椋拷锟斤拷一锟斤拷元锟斤拷为锟脚憋拷锟斤拷锟斤拷锟狡o拷锟铰憋拷为锟斤拷锟斤拷 0锟斤拷$argv[0]锟斤拷锟斤拷

锟斤拷锟较筹拷锟斤拷锟叫硷拷锟斤拷瞬锟斤拷锟斤拷母锟斤拷锟斤拷谴锟斤拷锟� 1 锟斤拷锟斤拷锟斤拷小锟斤拷 1 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟� --help 锟斤拷-help 锟斤拷-h 锟斤拷 -? 时锟斤拷锟斤拷印锟斤拷锟斤拷锟斤拷锟斤拷息锟斤拷锟斤拷同时锟斤拷态锟斤拷锟斤拷疟锟斤拷锟斤拷锟斤拷啤锟斤拷锟斤拷锟斤拷锟秸碉拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷示锟斤拷锟斤拷锟斤拷

锟斤拷锟较o拷锟斤拷锟� Unix 锟斤拷锟斤拷锟斤拷锟斤拷锟较脚憋拷锟斤拷锟斤拷要使锟斤拷锟斤拷锟斤拷为锟斤拷执锟斤拷锟侥硷拷锟斤拷然锟斤拷虻サ锟斤拷锟斤拷锟� script.php echothis 锟斤拷 script.php -h锟斤拷锟斤拷 Windows 锟铰o拷锟斤拷锟斤拷为锟剿憋拷写一锟斤拷锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷

Example #2 锟斤拷锟斤拷 PHP 锟斤拷锟斤拷锟叫脚憋拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷script.bat锟斤拷

@C:\php\php.exe script.php %1 %2 %3 %

锟斤拷锟借将锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷为 script.php锟斤拷锟斤拷 CLI 锟斤拷锟� php.exe 锟侥硷拷锟斤拷锟斤拷锟斤拷 c:\php\cli\php.exe锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟侥硷拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷拥牟锟斤拷锟斤拷锟斤拷锟斤拷疟锟斤拷锟斤拷锟�script.bat echothis 锟斤拷 script.bat -h锟斤拷

锟斤拷锟斤拷锟� Readline 锟斤拷展模锟斤拷锟斤拷泄锟斤拷牡锟斤拷锟斤拷曰锟饺★拷锟斤拷锟侥猴拷锟斤拷锟斤拷锟斤拷息锟斤拷锟斤拷些锟斤拷锟斤拷锟斤拷锟皆帮拷锟斤拷锟斤拷锟斤拷 PHP 锟斤拷锟斤拷锟斤拷应锟矫筹拷锟斤拷