ホームサーバーを(Xammpを使用して)私的使用のためにオンラインにしたいので、セーフモードをオンにする必要があります(私のOSはWindows XPです)
そこで、xamppにあるphpフォルダー内のphp.iniのcongifを次のように変更しました。
Safe Mode
;
safe_mode = On
; By default, Safe Mode does a UID compare check when
; opening files. If you want to relax this to a GID compare,
; then turn on safe_mode_gid.
safe_mode_gid = On
; When safe_mode is on, UID/GID checks are bypassed when
; including files from this directory and its subdirectories.
; (directory must also be in include_path or full path must
; be used when including)
safe_mode_include_dir =
; When safe_mode is on, only executables located in the safe_mode_exec_dir
; will be allowed to be executed via the exec family of functions.
safe_mode_exec_dir =
; Setting certain environment variables may be a potential security breach.
; This directive contains a comma-delimited list of prefixes. In Safe Mode,
; the user may only alter environment variables whose names begin with the
; prefixes supplied here. By default, users will only be able to set
; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR).
;
; Note: If this directive is empty, PHP will let the user modify ANY
; environment variable!
safe_mode_allowed_env_vars = PHP_
; This directive contains a comma-delimited list of environment variables that
; the end user won't be able to change using putenv(). These variables will be
; protected even if safe_mode_allowed_env_vars is set to allow to change them.
safe_mode_protected_env_vars = LD_LIBRARY_PATH
しかし、私はまだPHPは「セーフモード」で実行されていません。これが発生する前にサーバーをオンラインにしたくありません。誰かがこのエラーを修正する方法を教えてもらえますか?それは役に立たなかった
また、オンラインにする前に、実行/変更する必要のあるその他のセキュリティ対策/構成を提案してください
safe_mode_exec_dir
を入力していないことに注意してください。また、open_basedir
を定義したことを願っています。複数のディレクトリの場合は、パスをセミコロンで区切り、パス文字列全体を二重引用符で囲んでください。例えば:
safe_mode
=オンsafe_mode_exec_dir
= "F:\ WWW\HTML; F:\ batfiles\batch"open_basedir
= "F:\ WWW\HTML; F:\ batfiles\batch"
また、PHP 手動 :
セーフモードはPHP 5.3.0で非推奨になり、PHP 6.0.0で削除されました。
同じソースから:
nT(IIS)の場合、各仮想ホストは異なるユーザーアカウントから実行できるため、適切なNTFS権限が設定されていれば、セーフモードの制限はまったく必要ありません。