选项1
您也可以使用open_basedir这是一个 php.ini 指令来限制应用程序可以访问的目录。目录可以用分号分隔,因此您可以只列出您希望应用程序访问的目录,包括 /tmp 文件夹。
需要注意的是,这也会影响 include、require 等内容。
选项 #2
您可以使用rename_function或runkit_function_rename重命名它们,然后用您自己的逻辑包装重命名的版本。
从文档中引用:
将全局函数表中的 orig_name 重命名为 new_name。对于临时覆盖内置函数很有用。
例子:
rename_function('file_get_contents', 'nouse_file_get_contents');
function file_get_contents($filename, $use_include_path = false, $context, $offset = -1, $maxlen) {
//
// Do some validation here
//
return nouse_file_get_contents($filename, $use_include_path, $context, $offset, $maxlen);
}
选项#3
您可以为您的开发人员设置一些编码标准,并编写一些作为部署的一部分运行的单元测试,然后再将其投入生产。不确定你的发布程序是什么,但这些类型的东西应该在生产之前被捕获。