safe_mode是提供一個基本安全的共享環境。
在一個多用戶共享的phpweb服務器上,當這臺服務器開啓了safe_mode模式,有以下函數將會受到影響。
首先,以下嘗試訪問文件系統的函數將會被限制,運行服務器的用戶id,如果想要嘗試操作某個文件,必須要用戶該文件的讀取或者寫入的訪問權限。
因此,在safe_mode打開的情況下,下列函數將會收到限制:
ckdir,
move_uploaded_file,
chgrp,
parse_ini_file,
chown,rmdir,
copy,
rename,
fopen,
require,
highlight_file,
show_source,
include,
symlink,
link,
touch,
mkdir,
unlink
以上都是跟操作文件系統有關的函數。
除此之外,一些php擴展的函數也會受到限制,不能在程序裏面直接加載擴展,只能到php.ini里加載,而且php如果需要執行操作系統的程序時,必須在safe_mode_exec_dir中指定程序的路徑,否則執行將失敗。
此外還有
exec,
shell_exec,
pasathru,
system,
popen等函數會收到限制