[英]Fatal Error in PHP with PDO::MYSQL_ATTR_MAX_BUFFER_SIZE
使用PHP Web应用程序时,PDO :: MYSQL_ATTR_MAX_BUFFER_SIZE遇到致命错误,但仅在非常罕见的托管计划中出现。 就是说这个常数不可用。 如何检测到它不可用并且不使用它?
我的意思是,我可以使用if(!defined(...))if / then检查,但是在那些未使用PDO编译MYSQL_ATTR_MAX_BUFFER_SIZE的系统上,这仍然会导致致命错误吗? 请注意,存在一个有关MYSQL_ATTR_MAX_BUFFER_SIZE和mysqlnd的已知错误,在安装mysqlnd的情况下不会对其进行编译。 该错误被标记为“无法修复”。
我猜您没有正确使用defined()
。 您需要提供一个字符串。
if( defined( 'PDO::MYSQL_ATTR_MAX_BUFFER_SIZE' ) ) // note the quotes
{
// do something useful with PDO::MYSQL_ATTR_MAX_BUFFER_SIZE
}
上面的示例在我的设置(PHP 5.3.20,其中未定义PDO::MYSQL_ATTR_MAX_BUFFER_SIZE
)中没有使用error_reporting( E_ALL | E_STRICT )
发出任何通知/警告/错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.