膃・25腴PHP・’・潟ƒž・潟ƒ‰・・‚ゃƒ潟‹・‰篏睡”・™・‹

4.3篁ラ™・・VAR CLASS="literal" >PHP・・ Command Line Interface・’・・潟™・‹ CLI・・„・†・・・・–違—・„SAPI・‹ (Server Application Programming Interface)・’・泣ƒ・若ƒˆ・—・障™・‚ ・・・‹・‰・†・‹・‹・ˆ・†・・€・“・・VAR CLASS="literal" >SAPI・‹・・€ PHP・・‚ˆ・‹・激‚сƒą・障Ÿ・・ƒ‡・鴻‚・ƒˆ・ƒ・—)・≪ƒ—・・‚宴ƒ若‚激ƒ・ ・潟・–‹・冴‚’筝祉・・莟<・—・・„・障™・‚ CLI SAPI・・・・・VAR CLASS="literal" >SAPI・・–“・・・€ ・„・・ゃ‹・・•・„・Œ・‚・Š・障™・‚・・・・с・€・“・Œ・‰・・ゃ„・・・膣違‚’茯・˜・—・障™・‚ CLI・・VAR CLASS="literal" >CGI・・・・Œ・‚‹・ž・„・・・・・Œ ・演€š・с‚・‹・・‚‚・‹・‹・・‰・š・・•・†SAPI・с‚・‹・“・・・•™・・—・・・・•・„・‚

CLI SAPI・・€綵“・PHP 4.2.0・сƒ・ ・・ƒ若‚鴻•・Œ・障—・Ÿ・Œ・・“・・™‚・鴻с・・薑“・„・・‚鴻ƒ†・若‚帥‚鴻・‚・cŸ・Ÿ・・ ./configure・’絎Ÿ茵Œ・™・‹・›・・€・・ず・„・・ --enable-cli・’・‡絎š・™・‹・“・・・‚ˆ・Š・・‰・鴻・™・‹綽…荀 ・Œ・‚・Š・障—・Ÿ・‚PHP 4.3.0篁ラ™・ CLI SAPI・・‚‚・・‚„絎Ÿ薑“・„・・‚鴻ƒ†・若‚帥‚鴻с・・・・‚Š・ --enable-cli・・ƒ‡・•・・ƒ・ƒˆ・с‚・ƒ潟・・‚Š・障—・Ÿ・‚ ・≦Š鴻・™・‹・翫ˆ・・VAR CLASS="literal" >--disable-cli・’篏睡”・с・障™・‚

PHP4.3.0篁ラ™・・激‚鴻ƒ†・・ñHP・Œ・・・‚ˆ・†・・‚ゃƒ潟‚鴻ƒˆ・若ƒ・•・Œ・・„・‹・‹・・‚ˆ・c・ CLI/CGI・・ゃƒŠ・・・・・篏臀・€絖˜・・Œ・違・‚Š・障™・‚・‡・•・・ƒ・ƒˆ・с・ make・’絎Ÿ茵Œ・™・‹・・GI・・LI・・検・鴻Œ・“・・ƒ‰・•・Œ ・純ƒ若‚鴻ƒ‡・cƒ・‚・ƒˆ・・・VAR CLASS="literal" >sapi/cgi/php・・ sapi/cli/php・・・Œ・ž・Œ・臀・•・Œ・障™・‚筝≧–鴻・‚‚ php・・„・†・・・с‚・‹・“・・・絵・・—・・・・•・„・‚ make install・с・†・・‚‹・‹・・onfigure・・›・Š・障™・‚ configure・т・・ˆ・伵pxs・・‚ˆ・†・ÖAPI・≪‚吾ƒャƒ若ƒ・Œ・御Šž・•・Œ・Ÿ・翫ˆ・・障Ÿ・・ --disable-cgi・Œ・‡絎š・•・Œ・Ÿ・翫ˆ・ make install・・‚ˆ・c・LI・Œ{PREFIX}/bin/php ・・‚潟ƒ”・若•・Œ・障™・‚・•・‚・・‘・Œ・仃GI・Œ・・“・・‚潟ƒ”・若•・Œ・障™・‚ ・≪・‚ゃƒ潟‚鴻ƒˆ・若ƒ・•・Œ・・„・‹CGI・・ゃƒŠ・・‚’筝Š・吾・—・Ÿ・„・翫ˆ・・・€ make install・・・・・VAR CLASS="literal" >make install-cli ・’絎Ÿ茵Œ・—・・・・•・„・‚・‚・‹・„・・onfigure・・VAR CLASS="literal" >--disable-cgi ・’・‡絎š・—・・Š・・“・・‚‚・с・障™・‚

羈・„: --enable-cli・・VAR CLASS="literal" >--enable-cgi・・検・鴻Œ ・‡・•・・ƒ・ƒˆ・фœ‰・鴻・・c・„・‹・Ÿ・・configure・・VAR CLASS="literal" >--enable-cli ・’configure・фŒ‡絎š・—・・・・‚‚綽…・句š„・・VAR CLASS="literal" >make install・・ CLI・Œ{PREFIX}/bin/php・・—・・‚潟ƒ”・若•・Œ・障™・‚

PHP4.2.0・‹・‰PHP4.2.3・障с・indows・‘・ƒ・宴ƒ若‚吾с・LI・・ CGI php.exe・・Œ・˜・•・・ƒ・ƒ€・・ php-cli.exe・・—・・…絽ƒ・•・Œ・・„・障—・Ÿ・‚ PHP4.3.0・‹・‰・・indows・‘・ƒ・宴ƒ若‚吾с・LI・・VAR CLASS="literal" >cli・・„・† ・ャ・ƒ•・・ƒ・ƒ€・・TT CLASS="filename" >php.exe・・—・・…絽ƒ・•・Œ・障™・‚ ・—・Ÿ・Œ・c・VAR CLASS="literal" >cli/php.exe・・・‚Š・障™・‚

・・ˆ†・・API・・・・‹?: ・激‚сƒ・・VAR CLASS="literal" >php -v・’・帥‚ゃƒ—・™・‹・・€ php・ŒCGI・・・‹CLI・・・‹・・‹・Š・障™・‚ php_sapi_name()・・・・乿TT CLASS="constant" >PHP_SAPI ・‚・‚・с—・・・・•・„・‚

羈・„: unix・・VAR CLASS="literal" >manual・š・若‚吾ŒPHP4.3.2・ц申・・•・Œ・障—・Ÿ・‚ ・激‚сƒ・’医・・‹・‰man php・™・‹・“・・ц・・‹・“・・Œ・с・障™・‚

CLI SAPI・’篁–・・VAR CLASS="literal" >SAPI・・・・鴻Ÿ・‚ ・・ぇ・・・•・„・’篁ヤ・・・ず・—・障™・‚

PHP・・ゃƒŠ・・・‚ˆ・Š・箴›・•・Œ・‹・潟ƒž・潟ƒ‰・・‚ゃƒ潟‚・ƒ—・激ƒ・ ・潟・・荀с・€-h・鴻‚ゃƒƒ・・’・‡絎š・—・・ PHP・’絎Ÿ茵Œ・™・‹・“・・・‚ˆ・Š・„・ゃс‚‚茯帥鴻‚‹・“・・Œ・с ・障™・‚
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・潟ƒ若ƒ‰ ・’・–緇—・™・‹・Ÿ・・・・腮・・・・•違・‚‹・‹罧泣‚’・泣ƒ・若ƒˆ・—・・„・障™・‚

  1. PHP・・‰劫・・・ƒ•・<‚ゃƒ・・・茵Œ・’・‡腓冴™・‹・‚

    php my_script.php
    
    php -f my_script.php
    筝Š荐˜・・–号・・・…宴ą-f・鴻‚ゃƒƒ・・・戎・・・・篏•・・–≪‚‰ ・š)・‡絎š・—・Ÿ・•・<‚ゃƒ・TT CLASS="filename" >my_script.php・’絎Ÿ茵Œ・—・・ ・™・‚絎Ÿ茵Œ・•・<‚ゃƒ・・—・・‚・‰・†・‹・•・<‚ゃƒ・‚’・‡絎š・™・‹・“・・Œ・с・ PHP・鴻‚・ƒ・ƒ—・ˆ・・‹≦宍絖 .php・х・・・‹綽…荀・Œ・・・篁紙„・・・・„・≦宍絖 ・’篏睡”・™・‹・“・・Œ・с・障™・‚

  2. 絎Ÿ茵Œ・™・‹PHP・潟ƒ若ƒ‰・’・潟ƒž・潟ƒ‰・・‚ゃƒ潟х›贋・・‡絎š・™・‹・‚

    php -r 'print_r(get_defined_constants());'
    ・激‚сƒ・・・違・舟・›・・・・・・・・戎・・・ゃ„・・・‰鴻・絵・・—・・・・•・„・‚

    羈・„: ・“・・・・’・ˆ・・帥・・・•・„・‚・‹紮‹/腟‚篋†・帥‚違Œ・‚・Š・障›・“! -r・鴻‚ゃƒƒ・・’篏睡”・—・Ÿ・翫ˆ・・“・Œ・‰・・‚帥‚違・・荀 ・・・‚Š・障™・‚・“・Œ・‰・・‚帥‚違‚’篏睡”・™・‹・・ƒ‘・若‚泣‚・ƒ・ƒ若‚’・榊”Ÿ・—・障™・‚

  3. 絎Ÿ茵Œ・™・‹PHP・潟ƒ若ƒ‰・’罔™羣–・ュŠ› (stdin)・фŒ‡絎š・™・‹・‚

    ・“・Œ・・七・›・・・・純с€篁ヤ・・・篁・ƒ括š„・Å箴‹・・ず・™・ˆ・†・・€・•・„・・ PHP・潟ƒ若ƒ‰・’・Ÿ・・—・絎Ÿ茵Œ・・ゃƒŠ・・・…ュŠ›・™・‹・“・・ ・Œ・с・障™・‚
    $ some_application | some_filter | php | sort -u >final_output.txt

・“・Œ・‰・・‚潟ƒ若ƒ‰・’絎Ÿ茵Œ・™・‹筝‰腮・・・・–号・・’腟„・水ˆ・・›・・戎・・™・‹・“・・・・ ・・障›・“・‚

篁–・・‚激‚сƒ・‚≪ƒ—・・‚宴ƒ若‚激ƒсƒ潟・‚ˆ・†・・€PHP・・ゃƒŠ・・ ・・・・違‚’・‡絎š・™・‹・“・・Œ・с・‹・・‘・с・・PHP・鴻‚・ ・・ƒ—・ˆ・Œ・“・・・・違‚’・–緇—・™・‹・“・・‚‚・・ƒ純с™・‚・鴻‚・ƒ・ƒ—・ˆ・・Œ‡絎š・с・‹綣• ・違・•違・VAR CLASS="literal" >PHP・・‚ˆ・‹・狗™・’・—・‘・障›・“・‚ (・激‚сƒ・・Œ‡絎š・・ƒ純・–‡絖—・違・œ€紊у€ゃ‚’荐㊤・・—・・„・障™・‚・š絽吾€・“・・ˆ狗™・・ ・’莇Š・ˆ・‹・“・・・с・障›・“・‚) ・鴻‚・ƒ・ƒ—・ˆ・・Œ‡絎š・—・Ÿ綣•・違・€・違ƒ㏍ƒ若ƒ・・ ・・—$argv・с‚≪‚・‚祉‚劫・ƒ純с™・‚ 羞糸・0・・€絽吾・‚鴻‚・ƒ・ƒ—・ˆ・・Œ・・障‚Œ・・„・障™・‚ ( PHP・潟ƒ若ƒ‰・Œ罔™羣–・ュŠ›・障Ÿ・・‚潟ƒž・潟ƒ‰・・‚ゃƒ潟‚鴻‚ゃƒƒ ・-r・・‚ˆ・Š・‡絎š・•・Œ・Ÿ・翫ˆ・・鴻‚・ƒ・ƒ—・ˆ・・・ -・・・‚Š・障™・‚) ・脂Œ蚊•・Œ・‹膃・・・‚違ƒ㏍ƒ若ƒ・・・・違・VAR CLASS="literal" >$argc・с€ (・鴻‚・ƒ・ƒ—・ˆ・・Œ‡絎š・•・Œ・Ÿ綣•・違・•違с・SPAN CLASS="strong" >・・ ・)・・—$argv・・・膣・違Œ・・障‚Œ・障™・‚

・鴻‚・ƒ・ƒ—・ˆ・・Œ‡絎š・™・‹綣•・違Œ・‡絖—-・у・・障c・„・・„ ・・Š・・鴻・•™・・™・鴻・“・・・‚・Š・障›・“・‚・鴻‚・ƒ・ƒ—・ˆ・・Œ‡絎š・™・‹綣•・違Œ・‡ 絖—-・у・・障‚‹・翫ˆ・PHP・・・・Œ・“ ・Œ・’・‘・若‚鴻™・‹綽…荀・Œ・‚・‹・・帥・™・Ÿ・・・蕁Œ・’・榊”Ÿ・—・障™・‚ ・“・Œ・’・我②・™・‹・Ÿ・・綣•・違ƒ・‚鴻ƒˆ・祉ƒ‘・・ƒ若‚扖VAR CLASS="literal" >--・’篏睡”・ ・—・・・・•・„・‚PHP・・ƒ‘・若‚鴻•・Œ・‹綣•・違・・・・ ・“・・‚祉ƒ‘・・ƒ若‚帥‚’臀・・・€・・・・・・…・・・・・違・・・障障ƒ‘・若‚鴻•・Œ・š・・ ・鴻‚・ƒ・ƒ—・ˆ・・検・•・Œ・障™・‚

# This will not execute the given code but will show the PHP usage
$ php -r 'var_dump($argv);' -h
Usage: php [options] [-f] <file> [args...]
[...]

# This will pass the '-h' argument to your script and prevent PHP from showing it's usage
$ php -r 'var_dump($argv);' -- -h
array(2) {
  [0]=>
  string(1) "-"
  [1]=>
  string(2) "-h"
}

・障Ÿ・PHP・’・激‚сƒ・‚鴻‚・ƒ・ƒ—・ˆ・・—・・戎・・™・‹篁–・・ ・‹罧泣Œ・‚・Š・障™・‚・€・・・・・Œ#!/usr/bin/php・у・・障‚Š・ PHP・・–‹紮‹/腟‚篋†・帥‚違・賢・・€š絽吾・ PHP・潟ƒ若ƒ‰・Œ膓š・・鴻‚・ƒ・ƒ—・ˆ・’・吾・・・・・・ƒ•・<‚ゃƒ・ 絎Ÿ茵Œ絮ž・с‚’荐㊤・・™・‹(e.g. chmod +x test)・“・・Œ・・ƒ純с™・‚ ・“・・–号・・・€・š絽吾・‚激‚сƒċPerl・鴻‚・ƒ・ƒ—・ˆ・・Œ罕˜・・・茵Œ・™・‹・“・・Œ・с・障™・‚
#!/usr/bin/php
<?php
    var_dump
($argv);
?>
・“・・ƒ•・<‚ゃƒ・・・・Œtest・с€・・ƒ・ƒ潟ƒˆ・‡・cƒ・‚・ƒˆ ・・・‚・‹・・™・‹・・€篁ヤ・・・‚ˆ・†・・・茵Œ・™・‹・“・・Œ・с・障™・‚
$ chmod 755 test
$ ./test -h -- foo
array(4) {
  [0]=>
  string(6) "./test"
  [1]=>
  string(2) "-h"
  [2]=>
  string(2) "--"
  [3]=>
  string(3) "foo"
}
荀‹・・ˆ†・‹・‹・ˆ・†・・€-・у・・障‚‹・鴻‚・ƒ・ƒ—・ˆ・・ƒ‘・・ƒ<ƒ・ ・帥‚’・‡絎š・™・‹・›・・€・鴻・絵・・™・‹綽…荀・・‚・Š・障›・“・‚

茵・25-3. ・潟ƒž・潟ƒ‰・・‚ゃƒ潟‚・ƒ—・激ƒсƒ刵/B >

・・ƒ—・激ƒсƒ刵/TH >茯・˜・/TH >
-s

・・ƒ・ƒ惹・・‡・・ゃƒ・‚ゃƒˆ茵・ず・•・Œ・Ÿ・純ƒ若‚鴻‚’茵・ず・—・障™・‚

・“・・‚・ƒ—・激ƒсƒ潟・€・•・<‚ゃƒ・‚’・‘・若‚鴻—・HTML ・・ゃƒ・‚ゃƒˆ茵・ず・ˆ・・ƒ•・<‚ゃƒ・‚’・Ÿ・・—・罔™羣–・阪Š›・・›吾・冴™・…・・・ 罕‹・’篏睡”・—・障™・‚茵Œ・†・・・€ <code> [...] </code>・・ƒ–・㏍ƒƒ・・ ・’・Ÿ・・™・‹・“・・・‘・с€HTML・˜・ƒ・€・・‡阪Š›・•・Œ ・・„・“・・・絵・・—・・・・•・„・‚

羈・„: ・“・・‚・ƒ—・激ƒсƒ潟・€-r・・ƒ—・激ƒсƒ潟・Œ・‚・・戎 ・・™・‹・“・・・с・障›・“・‚

-w

・潟ƒ<ƒ潟ƒˆ・・・・醇–‡絖—・’・Š・ゃ—・・‚純ƒ若‚鴻‚’茵・ず・—・障™・‚

羈・„: ・“・・‚・ƒ—・激ƒсƒ潟・€-r・・ƒ—・激ƒсƒ潟・Œ・‚・・戎 ・・™・‹・“・・・с・障›・“・‚

-f

-f・・ƒ—・激ƒсƒ潟・Œ‡絎š・—・Ÿ・•・<‚ゃƒ・・’鐓Š鐓Ÿ鐔逸十・—・ 絎Ÿ茵Œ・—・障™・‚・“・・‚鴻‚ゃƒƒ・・・‚・ƒ—・激ƒсƒ潟хœ・ャ™・‹・“・・‚‚・с・障™・‚ 絎Ÿ茵Œ・™・‹・鴻‚・ƒ・ƒ—・ˆ・’・‡絎š・™・‹・・‘・у……・†・с™・‚

-v

PHP, PHP SAPI, Zend・・ƒ・若‚吾ƒсƒ潟‚’罔™羣–・阪Š›・・‡阪Š›・—・障™・‚箴‹鐚š
$ php -v
PHP 4.3.0-dev (cli), Copyright (c) 1997-2002 The PHP Group
Zend Engine v1.2.1, Copyright (c) 1998-2002 Zend Technologies

-c

・“・・‚・ƒ—・激ƒсƒ潟‚’篏睡”・™・‹・“・・・‚ˆ・Š・php.ini・’・≪™・‡・cƒ・‚・ƒˆ ・・‚’・‡絎š・—・Ÿ・Š・・・‚鴻‚帥ƒž・ゃ‚冴•・Œ・ŸINI・•・・ ・ゃƒąphp.ini・・„・†・・・с‚・‹綽…荀・・‚・Š・障›・“)・’・贋・・‡絎š・™・‹ ・“・・Œ・・ƒ純с™・‚箴‹鐚š
$ php -c /custom/directory/ my_script.php

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

-a

PHP・’絲乗・・„・・・茵Œ・—・障™・‚

-d

・“・・‚・ƒ—・激ƒсƒ潟・‚ˆ・Š php.ini ・фŒ‡絎š・с・‹荐㊤・・‡・cƒ・‚・ƒ†・cƒ– ・・‚・‚鴻‚帥ƒ・ゃ‚’荐㊤・・™・‹・“・・Œ・с・障™・‚罕‹・‡・・札筝‹・・‚ˆ・†・・・‚Š・障™・‚
-d configuration_directive[=value]

箴‹:
# ・ゃ・ƒ・ˆ†・’・・ャ™・‹・・€荐㊤・・‡・cƒ・‚・ƒ†・cƒ–・à1"・’・‡絎š・—・障™
$ php -d max_execution_time -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"

# 腥冴・€ゃ‚’羝<™・・┃絎š・‡・cƒ・‚・ƒ†・cƒ–・à"・’荐㊤・・—・障™
php -d max_execution_time= -r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""

# 荐㊤・・‡・cƒ・‚・ƒ†・cƒ–・・–‡絖—'='・・・・・Œ‡絎š・—・Ÿ・‚・・‚’荐㊤・・—・障™
$  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

・‡・・ƒ・・・—・㏍ƒ•・<‚ゃƒ・”・・‹≦宍・…・宴‚’・阪Š›・—・障™・‚

-z

Zend・・‚・‚鴻ƒ†・潟‚激ƒсƒ潟‚’・㏍ƒ若ƒ‰・—・障™・‚・•・<‚ゃƒ・・・帥Œ・‡絎š・•・Œ・Ÿ・翫ˆ・ PHP・・“・・‹≦宍・’・・ƒ・ƒ潟ƒˆ・・‚激‚鴻ƒ†・・・ƒ‡・•・・ƒ・ƒˆ・・‚ゃƒ–・・ƒ・ƒ‘・鴻‹・‰ ・㏍ƒ若ƒ‰・—・ˆ・†・・—・障™・‚ (Linux・激‚鴻ƒ†・・・翫ˆ・・TT CLASS="filename" >/etc/ld.so.conf・・ ・‡絎š・•・Œ・・„・障™) ・•・<‚ゃƒ・・’腟九・・‘・鴻фŒ‡絎š・—・Ÿ・翫ˆ・・激‚鴻ƒ†・・・ƒ・‚ゃƒ–・・ƒ・‚泣ƒ若ƒ・‘・鴻‚’ 篏睡”・—・障›・“・‚・‡・cƒ・‚・ƒˆ・・ƒ…・宴‚’・‰・™・‹・後・・•・<‚ゃƒ・・’ ・‡絎š・™・‹・・€PHP・・€ ・・ƒ・ƒ潟ƒˆ・・ƒ‡・cƒ・‚・ƒˆ・・・›後・・‘・鴻‹・‰・≦宍・≪‚吾ƒャƒ若ƒ・‚’・㏍ƒ若ƒ‰・™・‹ ・“・・・帥‚’茵Œ・・„・障™・‚

-l

・“・・‚・ƒ—・激ƒсƒ潟・‚ˆ・Š・・‡絎š・—・ŸPHP・潟ƒ若ƒ‰・・ 罕‹・‡・・сƒƒ・・・帥‚’膂≦˜・・・・・†・“・・Œ・с・障™・‚・・Ÿ・—・Ÿ・翫ˆ・ ・†・㏍‚鴻ƒˆ No syntax errors detected in <filename> ・Œ・罔™羣–・阪Š›・・›吾莨若障‚Œ・・・‚帥ƒ若ƒ潟‚潟ƒ若ƒ‰・・VAR CLASS="literal" >0 ・・・‚Š・障™・‚紊掩•—・—・Ÿ・翫ˆ・・†・㏍‚鴻ƒˆ Errors parsing <filename> ・・Š・ˆ・・€・…・・ƒ‘・若‚泣‚・ƒ・ƒ若ƒ<ƒƒ・祉ƒ若‚・ ・Œ罔™羣–・阪Š›・・›吾莨若障‚Œ・・激‚сƒ・ƒ・‚帥ƒ若ƒ潟‚潟ƒ若ƒ‰・・€ 255・・・‚Š・障™・‚

・“・・‚・ƒ—・激ƒсƒ潟・€(・・・臂・・–∽•違・‚ˆ・†・Å・翫‘順š„・・‚・ƒ・ƒ帔fatal error) ・・帥ゃ‘・障›・“・‚・翫‘順š„・・‚・ƒ・ƒ若・ゃ„・・‚‚茯帥鴻Ÿ・„・翫ˆ・・€ -f ・’篏睡”・—・・・・•・„・‚

羈・„: ・“・・‚・ƒ—・激ƒсƒ潟・€・・ƒ—・激ƒсƒ刵VAR CLASS="literal" >-r・・…宴・戎・・™・‹・“・・・ ・с・障›・“・‚

-m

・“・・‚・ƒ—・激ƒсƒ潟‚’篏睡”・™・‹・・€PHP・・€PHP・・・・粋昭・障‚Œ・Ÿ (・・—・・ƒ㏍ƒ若ƒ‰・•・Œ・Ÿ) Zend ・≪‚吾ƒャƒ若ƒ・‚’・阪Š›・—・障™・‚
$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype

[Zend Modules]

-i ・“・・‚潟ƒž・潟ƒ‰・・‚ゃƒ潟‚・ƒ—・激ƒсƒ潟・€phpinfo()・’・潟ƒ若ƒ・—・ 腟・œ・’・阪Š›・—・障™・‚PHP ・Œ罩c—・・•篏œ・—・・„・・„・翫ˆ・ php -i・’絎Ÿ茵Œ・—・・…・宴ƒ†・若ƒ–・・・‰・障Ÿ・・賢・・‡阪Š› ・•・Œ・‹・・ƒ・ƒ若ƒ<ƒƒ・祉ƒ若‚吾‚’茯帥鴻‚‹・“・・‚’・Š・с‚・—・障™・‚ ・阪Š›・・€HTML 綵√・・ц・・・‚・Œ・‹・Ÿ・・・‹・・‚Š・・Œ 紊š・・・‚‹・“・・・絵・・—・・・・•・„・‚
-r

・“・・‚・ƒ—・激ƒсƒ潟・‚ˆ・Š・・潟ƒž・潟ƒ‰・・‚ゃƒ潟・帥・VAR CLASS="literal" >PHP ・・・茵Œ・Œ・с・‹・ˆ・†・・・‚Š・障™・‚ PHP・・–‹紮‹・Š・ˆ・括・篋†・帥‚・ (<?php ・Š・ˆ・・?>) ・・SPAN CLASS="strong" >筝荀・с€・“・Œ・‰・’篁˜・‘・‹・・ ・‘・若‚泣‚・ƒ・ƒ若・・‚Š・障™・‚

羈・„: ・“・・‚ˆ・†・・VAR CLASS="literal" >PHP・’絎Ÿ茵Œ・™・‹・›・・€・潟ƒž・潟ƒ‰・・‚ゃƒ潟・ 紊‰・違Œ・激‚сƒ・・‚ˆ・Š茵Œ・・‚・Œ・‹臀・›・・慌羝‰・—・・„・ˆ・†・・絵・・—・・・・•・„・‚

・‘・若‚泣‚・ƒ・ƒ若‚’・Ÿ・˜・‹箴‹
$ php -r "$foo = get_defined_constants();"
Command line code(1) : Parse error - parse error, unexpected '='
・“・“・с・•蕁Œ・・€2・綣•・・・ " ・’・・„・Ÿ・翫ˆ・с‚‚ sh/bash・Œ紊‰・亥舟・›・’茵Œ・†・“・・с™・‚ $foo・・Š・・‰・絎š臂・•・Œ・・„・・„・・с€ 腥堺–‡絖—・—・・・・‹・•・Œ・Ÿ緇Œ・絎Ÿ茵Œ・・・VAR CLASS="literal" >PHP・・ ・・・‚潟ƒ若ƒ‰・Œ羝<•・Œ・篁ヤ・・・‚ˆ・†・・・・粋昭・€・“・・・・‚Š・障™・‚
$ php -r " = get_defined_constants();"
罩c—・„・号・・・€1・綣•・・・'・’篏睡”・™・‹・“・・с™・‚ 1・綣•・・・・ф‹・‚‰・Œ・Ÿ・‡絖—・—・・賢・・・・違・€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篁ュ・・・‚激‚сƒ・‚’篏睡”・—・・„・‹・翫ˆ・・・€・ャ・•蕁Œ・’腟Œ薑“・—・Ÿ・“・・Œ ・‚・‹・‹・‚・—・Œ・障›・“・‚・・違ƒ・ƒ・若ƒˆ・’篏œ・・™・‹・‹ phpdoc@lists.php.net・・ƒ<ƒ若ƒ・‚’・・c・・・•・„・‚ ・激‚сƒ・・・違‚’・潟ƒ若ƒ‰・・–緇—・—・ˆ・†・・—・Ÿ・Š・・・‚鴻‚宴ƒ若ƒ—・’茵Œ・・†・Ÿ・・・ ・・ƒ・・‚鴻ƒ・ƒƒ・激ƒャ‚’篏睡”・—・Ÿ・Š・—・Ÿ・翫ˆ・・‚‚・絎号˜“・・•蕁Œ・’・榊”Ÿ・™・‹ ・・ƒ醇€сŒ・‚・Š・障™・‚羈・„・Œ綽…荀・с™・‚

-h ・“・・‚・ƒ—・激ƒсƒ潟‚’篏睡”・™・‹・・€絎Ÿ・›・・・・c・‚潟ƒž・潟ƒ‰・・‚ゃƒ潟‚・ƒ—・激ƒсƒ潟・ ・„1茵Œ・・・・・Œ・…・宴‚’・–緇—・с・障™・‚

PHP絎Ÿ茵Œ・・ゃƒŠ・・・€Web・泣ƒ若ƒ・‹・‰絎Œ・・・‹・・・—・・HP・鴻‚・ƒ・ƒ—・ˆ・’絎Ÿ茵Œ・™ ・‹・Ÿ・・・戎・・™・‹・“・・Œ・с・障™・‚Unix・激‚鴻ƒ†・・’篏睡”・—・・„・‹・翫ˆ・絎Ÿ 茵Œ・・ƒ純・™・‹・Ÿ・・・€PHP・鴻‚・ƒ・ƒ—・ˆ・・…ˆ・㏍・‰劫ˆャ・・茵Œ・’菴遵Š・™・‹綽…荀・Œ ・‚・Š・障™・‚・“・Œ・・‚ˆ・Š・・激‚鴻ƒ†・・Œ・・・‚鴻‚・ƒ・ƒ—・ˆ・’絎Ÿ茵Œ・™・‹・—・㏍‚違ƒ・ƒ ・’・ャ‚‹・“・・Œ・с・障™・‚ Windows・医・・с・€.php・•・<‚ゃƒ・・ƒ€・–・・‚・ƒ・ƒƒ・・‚・ ・—・激ƒсƒ潟・VAR CLASS="literal" >php.exe・’・∫€cャ‘・‹・“・・Œ・с・障™・‚ ・障Ÿ・・€PHP・・‚ˆ・Š・鴻‚・ƒ・ƒ—・ˆ・’絎Ÿ茵Œ・™・‹・・ƒ・・•・<‚ゃƒ・‚’篏œ・・™・‹・“・・‚‚ ・・ƒ純с™・‚Unix筝Š・у‹•篏œ・•・›・‹・Ÿ・・・‚鴻‚・ƒ・ƒ—・ˆ・・申・・•・Œ・Ÿ・ˆ・㊧・・・€ Windows・医・・с・‹•篏œ・・‚・襲・帥‚’筝・ˆ・障›・“・‚・“・・Ÿ・・・“・・‰‹羈•・・‚ˆ・Š・ 藥’・ˆ・—・・ƒƒ・ˆ・•・・ƒ若ƒ・医・・у‹•篏œ・™・‹・—・㏍‚違ƒ・ƒ・’・吾・“・・Œ・с・障™・‚ ・潟ƒž・潟ƒ‰・・‚ゃƒ劊HP・—・㏍‚違ƒ・ƒ・・›御–鴻・亜・˜・・・・’篁ヤ・・・ず・—・障™・‚

箴‹ 25-1. ・潟ƒž・潟ƒ‰・・‚ゃƒ潟‹・‰絎Ÿ茵Œ・•・Œ・‹・“・・‚’・・潟—・Ÿ・鴻‚・ƒ・ƒ—・ˆ(script.php)

#!/usr/bin/php
<?php

if ($argc != 2 || 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];
}
?>

筝Š・・‚鴻‚・ƒ・ƒ—・ˆ・с・€・号・・・…ˆ・㊧・・Œ・・„・‰・Œ・・Š・Š・・“・・ƒ•・<‚ゃƒ・Œ PHP・・‚ˆ・Š絎Ÿ茵Œ・•・Œ・‹・“・・‚’腓冴—・・„・障™・‚・“・“・с・LI・ˆ・’篏睡”・—・・„・‹・Ÿ・・ HTTP・˜・ƒ・€・・‡阪Š›・•・Œ・障›・“・‚PHP・・ ・潟ƒž・潟ƒ‰・・‚ゃƒ潟‚≪ƒ—・・‚宴ƒ若‚激ƒсƒ潟‚’篏睡”・™・‹・›・・・€2・ゃ・・・・ $argc and $argv ・’篏睡”・™・‹・“・・Œ ・с・障™・‚ ・€・・・・・違・€綣•・違・•違é(絎Ÿ茵Œ筝㏍・‚鴻‚・ƒ・ƒ—・ˆ・・・)・’・・ˆ・Ÿ・‚・・с™・‚ 2・・›・・・・違・€綣•・違‚’篆・・™・‹・・—・с€・鴻‚・ƒ・ƒ—・ˆ・・’・‰・™・‹ 荀膣0($argv[0])・‹・‰紮‹・障c・„・障™・‚

筝Š・・ƒ—・㏍‚違ƒ・ƒ・с・€綣•・違Œ1・ˆ・Š絨‘・・„・‹・障Ÿ・・・・„・‹・’茯帥鴻・„・障™・‚ ・障Ÿ・綣•・違Œ --help, -help, -h, -?・・翫ˆ・ ・˜・・ƒ—・<ƒƒ・祉ƒ若‚吾‚’・阪Š›・—・・•・„・・‚鴻‚・ƒ・ƒ—・ˆ・・’・阪Š›・—・障™・‚ 篁–・・・・違‚’・—・‘・–・cŸ・翫ˆ・・“・Œ・’・阪Š›・—・障™・‚

筝Š・・‚鴻‚・ƒ・ƒ—・ˆ・’Unix・у・茵Œ・™・‹・翫ˆ・絎Ÿ茵Œ・・ƒ純・—・Ÿ緇Œ・ script.php echothis ・障Ÿ・・ script.php -h ・・™・‹綽…荀・Œ・‚・Š・障™・‚ Windows・с・€・“・・‡・†・’茵Œ・・†篁ヤ・・・‚ˆ・†・・ƒ・ƒ・・•・<‚ゃƒ・‚’篏œ・・™・‹・“・・Œ ・с・障™・‚

箴‹ 25-2. ・潟ƒž・潟ƒ‰・・‚ゃƒ劊HP・鴻‚・ƒ・ƒ—・ˆ・’絎Ÿ茵Œ・™・‹・・ƒ・・•・<‚ゃƒąscript.bat)

@c:\php\php.exe script.php %1 %2 %3 %4

筝Š・・ƒ—・㏍‚違ƒ・ƒ・Œscript.php・・„・†・・・с‚・‹・・ ・—・c:\php\php.exe・・TT CLASS="filename" >php.exe ・Œ・‚・‹・・™・‹・・€・“・・ƒ・ƒ・・•・<‚ゃƒ・・€菴遵Š・—・Ÿ・・ƒ—・激ƒсƒ・ script.bat echothis ・障Ÿ・・ script.bat -h ・’・‡絎š・—・・€・鴻‚・ƒ・ƒ—・ˆ・’絎Ÿ茵Œ・—・障™・‚

PHP・・‚潟ƒž・潟ƒ‰・・‚ゃƒ潟‚≪ƒ—・・‚宴ƒ若‚激ƒсƒ潟‚’・≦宍・™・‹・Ÿ・・・戎・・с・‹ ・・・・・・–∽•違・ゃ„・・・€・≦宍・≪‚吾ƒャƒ若ƒ・ Readline・・–≪™・‹ ・‰・㏍ƒャƒ<ƒ潟ƒˆ・‚・‚・с—・・・・•・„・‚