【发布时间】:2013-03-18 17:40:01
【问题描述】:
所以 php 中流行的 mkdir() 函数在以下代码中向我抛出了警告:
public function check_dir($dir, $create_dir = false) {
if (is_dir ( $dir )) {
return true;
} elseif ($create_dir == true) {
return mkdir ( $dir );
}
return false;
}
很容易知道发生了什么。所以我就不解释了。但在 mkdir() 行我得到:
警告:mkdir(): Permission denied in /var/www/wordpress/wp-content/themes/Aisis-Framework/AisisCore/FileHandling/File.php on line 70
因此,尽管它只是一个警告,仅此而已,但您永远不应该在现场打开警告,或者任何类型的错误。那么,当它明确声明它返回真或假而不是警告或致命时,我该如何处理呢?
【问题讨论】:
-
您可以获得对服务器的写入权限吗?那应该解决它
-
实际上,您应该关闭“live”中的警告(假设“live”是指“production”)。你不应该在开发期间关闭警告。
-
另外,您可以关闭显示的错误/警告消息并将它们发送到日志文件
-
您应该不关闭ANY环境中的警告或错误。相反,您应该在生产中将它们从标准输出更改为日志文件。你应该绝对在生产中关闭
display_errors。 -
@TheWebs 不,你大错特错了。如果您想在生产环境中将后端 PHP 噪音吐到页面上,那么欢迎您这样做,但是当您能够记录 错误时,您的立场就相当站不住脚了。