教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 phpunit遇到You cannot serialize or unserialize PDO instances

phpunit遇到You cannot serialize or unserialize PDO instances

发布时间:2017-12-11   编辑:jiaochengji.com
教程集为您提供phpunit遇到You cannot serialize or unserialize PDO instances等资源,欢迎您收藏本站,我们将为您提供最新的phpunit遇到You cannot serialize or unserialize PDO instances资源
下面我们来看一篇关于phpunit遇到You cannot serialize or unserialize PDO instances问题的解决方案,具体的如下所示。

globalsBackup causes: PDOException: You cannot serialize or unserialize PDO instances。

在PHPUnit/Frameword/TestCase.php文件中,有一行protected $backupGlobals = TRUE;

把backupGlobals 改为false即可解决这个问题。不过从PHPUNIT开发小组成员的建议来看,他们是不支持用修改backupGlobals的值来解决这个问题的。

The majority of users of PHPUnit expects it to work as it does when the backup of $GLOBALSfeature is enabled. This is why it is enabled by default.
If your tests exercise code that puts unserializable objects into $GLOBALS you can disable the feature.
From a software design perspective, you should not have a global instance of PDO to begin with.

所以更好的解决方法就是在:

$db = SmartPHP_Db::factory($dbConfig);

SmartPHP_Pool::set("db" , $db);
SmartPHP_Db_Table::setDefaultAdapter($db);
这段代码之后,再添加一句:

unset($db);
这样子就完美解决了You cannot serialize or unserialize PDO instances这个问题。

 

您可能感兴趣的文章:
phpunit遇到You cannot serialize or unserialize PDO instances
php pdo函数库用法详解
php serialize,unserialize 函数
PHP中关键字与魔术方法介绍
Destructors in C
php中的Unserialize与Autoload
关于PHP中extension加载顺序问题的解决方法
深入分析PHP PDO配置及使用方法
学习php serialize()与unserialize()的用法
有关PHP中PDO连接数据库的详细教程与实际操作演示

[关闭]
~ ~