php のセーフモードはセーフモードです。有効にすると、Web サイトに強力なセキュリティが提供されますが、一部の機能にも影響します。以下に、必要な機能に対するセーフモードの影響をまとめます。それを参照してください。
関数名の制限事項
dbmopen() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
dbase_open() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
filepro() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
filepro_rowcount() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
filepro_retrieve() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
ifx_* sql_safe_mode 制限、(!= セーフ モード)
ingres_* sql_safe_mode 制限、(!= セーフ モード)
mysql_* sql_safe_mode 制限、(!= セーフモード)
pg_loimport() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
posix_mkfifo() は、操作されているディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
putenv() は、ini によって設定されたsafe_mode_protected_env_vars オプションとsafe_mode_allowed_env_vars オプションを尊重します。 putenv() 関数のドキュメントを参照してください。
move_uploaded_file() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持っているかどうかを確認します。
chdir() 操作されているディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
dl() この関数はセーフ モードでは無効になります。
バッククォート演算子 この関数はセーフ モードでは無効になっています。
shell_exec() (バッククォート関数と機能的には同じ) この関数はセーフ モードでは無効になります。
exec() は、safe_mode_exec_dir で設定されたディレクトリ内でのみ操作を実行できます。何らかの理由で、現在、.. は実行可能オブジェクトのパスに使用できません。この関数の引数にはescapeshellcmd()が適用されます。
system() は、safe_mode_exec_dir で設定されたディレクトリ内でのみ操作を実行できます。何らかの理由で、現在、.. は実行可能オブジェクトのパスに使用できません。この関数の引数にはescapeshellcmd()が適用されます。
passthru() は、safe_mode_exec_dir で設定されたディレクトリ内でのみ操作を実行できます。何らかの理由で、現在、.. は実行可能オブジェクトのパスに使用できません。この関数の引数にはescapeshellcmd()が適用されます。
Popen() は、safe_mode_exec_dir で設定されたディレクトリ内でのみ操作を実行できます。何らかの理由で、現在、.. は実行可能オブジェクトのパスに使用できません。この関数の引数にはescapeshellcmd()が適用されます。
fopen() は、操作されているディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
mkdir() は、操作されているディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
rmdir() は、操作されているディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
rename() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 操作されているディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
unlink() 操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 操作されているディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
copy() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持っているかどうかを確認します。 操作されているディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 (ソースとターゲット上)
chgrp() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
chown() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
chmod() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 また、SUID、SGID、スティッキービットは設定できません
touch() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 操作されているディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。
symlink() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 操作されているディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 (注: テスト対象のみ)
link() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 操作されているディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 (注: テスト対象のみ)
apache_request_headers() セーフ モードでは、「authorization」(大文字と小文字が区別されます) で始まるヘッダーは返されません。
header() セーフ モードでは、WWW-Authenticate が設定されている場合、現在のスクリプトの uid がこのヘッダーのレルム部分に追加されます。
PHP_AUTH 変数 セーフ モードでは、変数 PHP_AUTH_USER、PHP_AUTH_PW、および PHP_AUTH_TYPE は $_SERVER で使用できません。ただし、いずれにせよ、REMOTE_USER を使用してユーザー名 (USER) を取得することはできます。 (注: PHP 4.3.0 以降のみ有効)
highlight_file()、show_source() 操作中のファイルまたはディレクトリが、実行中のスクリプトと同じ UID (所有者) を持つかどうかを確認します。 操作されているディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 (注: バージョン 4.2.1 以降のみ有効)
parse_ini_file() は、操作されているファイルまたはディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 操作されているディレクトリが、実行されているスクリプトと同じ UID (所有者) を持つかどうかを確認します。 (注: バージョン 4.2.1 以降のみ有効)
set_time_limit() はセーフ モードでは機能しません。
max_execution_time はセーフ モードでは効果がありません。
mail() セーフ モードでは、5 番目のパラメーターはブロックされます