2008年8月19日火曜日

PHPコマンドラインの変数

環境変数に設定されている物は、$_ENVから$_SERVERに引き継がれるのでcrontabなどで注意

$argv,$argcもphp.iniなどの設定によっては、出力されない。

crontabなどを考えると、
$_ENV["HOSTNAME"] ($_SERVER["HOSTNAME"])は使わずに、
$hostname = php_uname('n');
$hostname = exec("/bin/hostname");
などを、使う。

CentOS4

共通
_SERVER["PHP_SELF"] =>
_SERVER["SCRIPT_NAME"] =>
_SERVER["SCRIPT_FILENAME"] =>
_SERVER["PATH_TRANSLATED"] =>
_SERVER["DOCUMENT_ROOT"] =>
_SERVER["REQUEST_TIME"] => 1219079461
_SERVER["argv"] => Array
(
)
_SERVER["argc"] => 0

crontab (/bin/sh)
_ENV["SHELL"] => /bin/sh
_ENV["USER"] => hoge
_ENV["PATH"] => /usr/bin:/bin
_ENV["PWD"] => /home/hoge
_ENV["SHLVL"] => 1
_ENV["HOME"] => /home/hoge
_ENV["LOGNAME"] => hoge
_ENV["_"] => /bin/env

_SERVER ・・・_ENVを引き継ぐ

loginシェル /bin/bash
_ENV["HOSTNAME"] => foobar
_ENV["TERM"] => xterm
_ENV["SHELL"] => /bin/bash
_ENV["HISTSIZE"] => 1000
_ENV["USER"] => hoge
_ENV["LS_COLORS"] => no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=00;32:*.cm
d=00;32:*.exe=00;32:*.com=00;32:*.btm=00;32:*.bat=00;32:*.sh=00;32:*.csh=00;32:*.tar=00;31:*.tgz=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;
31:*.zip=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.bz=00;31:*.tz=00;31:*.rpm=00;31:*.cpio=00;31:*.jpg=00;35:*.gif=00;35:*.bmp=0
0;35:*.xbm=00;35:*.xpm=00;35:*.png=00;35:*.tif=00;35:
_ENV["KDEDIR"] => /usr
_ENV["PATH"] => /usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/hoge/bin
_ENV["MAIL"] => /var/spool/mail/hoge
_ENV["PWD"] => /home/hoge
_ENV["INPUTRC"] => /etc/inputrc
_ENV["LANG"] => ja_JP.EUC-JP
_ENV["HOME"] => /home/hoge
_ENV["SHLVL"] => 2
_ENV["LOGNAME"] => hoge
_ENV["LESSOPEN"] => /usr/bin/lesspipe.sh %s
_ENV["G_BROKEN_FILENAMES"] => 1
_ENV["_"] => /usr/bin/php

_SERVER ・・・ _ENVと同じ物

0 件のコメント :