我想提出一个多线程的CLI-PHP应用程序和需要序列化PDO object工作之间传递的线程内,并使用魔术方法睡眠线程唤醒它__sleep()和__wakeup().然而,PDO或者mysqli扩展不支持它.旧mysql_*()api做了这个,但它已被弃用并删除.
<?php
// Application
$link = new PDO('mysql:host=localhost;port=3306;dbname=testdatabase', 'root', '');
$obj = serialize($link);
Run Code Online (Sandbox Code Playgroud)
很好地产生错误
PHP致命错误:未捕获异常'PDOException',并在W:\ workspace\Sandbox\application.php中显示消息'您无法自定义或反序列化PDO实例':5堆栈跟踪:
#0 [内部函数]:PDO - > __ sleep()
#1 W:\ workspace\Sandbox\application.php(5):serialize(Object(PDO))
在第5行的W:\ workspace\Sandbox\application.php中抛出#2 {main}