[英]Setting cookie domain with .htaccess php_value not working
[英]Accidental error in setting php_value in .htaccess?
因此,当我当前在PHP中查看phpinfo()
时,我的error_reporting
设置为某个数字,该数字表示所有错误常量值的总和,对吗?
假设,我在.htaccess中意外地将error_reporting
的值意外地设置为一些奇怪的值:
(**E_AL** & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED)
错字 会发生什么,将其设置为某些默认值吗? 还是来自php.ini? 我尝试设置以上所有值,并且都在“ Local Value
中设置了所有Local Value
没有任何问题。
我很好奇其他值也会发生什么,它将默认为php.ini还是什么?
谢谢!
PHP使用按位运算符来确定是否应报告错误级别。因此,无论您的整数值是二进制值,它都将按位&查看是否报告了错误。
例如,如果使用E_DEPRECATED | E_DEPRECATED是(不是说这是正确的):01,E_WARNING是10,E_NOTICE是100。 E_WARNING | E_NOTICE将提供二进制文件111,因此,当报告错误时(例如E_WARNING),它将采用设置的值,并按位与它确定是否显示报告:
111&010 = True,因此将报告错误。
如果您只是使用过E_DEPRECATED | E_NOTICE,二进制为101,所以101&010 = False,因此不会报告错误。
这些二进制文件中的每一个都可以转换为base10、01 = 1、10 = 2、100 = 4等。
因此,如果您对随机整数会报告哪些错误感到好奇,可以执行以下操作:
int & E_WARNING
在您的PHP解析器中,如果其为True,则将显示错误,如果其为FALSE,则将忽略该错误。
这是一个很好的学习习惯,因为它在实现应用程序登录时也非常有用,您可以使用相同的系统,因此不必实施长时间的切换,也不必执行.. elseif ..块来确定是否是否根据配置记录日志级别。
/**
* Determines whether this message should be logged based on the provided type and the set threshold
* @access protected
* @param int $type
* @param string $name name of the log to check.
* @return boolean
*/
protected function should_log($type,$name='default') {
return (bool) ($this->getConfig($name)->threshold & $type);
}
因此,阈值将是您配置中的二进制数(使用常量以提高可读性),然后按位和提供的日志类型返回True或False,以确定是否将消息以名称$name
的形式记录到记录器中。更优化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.