繁体   English   中英

PHP中使用PDO :: MYSQL_ATTR_MAX_BUFFER_SIZE的致命错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM