Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ZF2:pthreads-传递PDO_Php_Multithreading_Pdo - Fatal编程技术网

Php ZF2:pthreads-传递PDO

Php ZF2:pthreads-传递PDO,php,multithreading,pdo,Php,Multithreading,Pdo,这是我第一次使用pthreads 我有一个运行多线程的控制器。每个线程将进行大量处理,并等待文件下载。稍后,它将保存到数据库中 在前面的控制器中,我使用以下方法获取数据库连接的实例: public function getAppTable() { if (!$this->appTable) { $sm = $this->getServiceLocator(); $this->appTable = $sm->g

这是我第一次使用pthreads

我有一个运行多线程的控制器。每个线程将进行大量处理,并等待文件下载。稍后,它将保存到数据库中

在前面的控制器中,我使用以下方法获取数据库连接的实例:

public function getAppTable() {
        if (!$this->appTable) {
            $sm = $this->getServiceLocator();
            $this->appTable = $sm->get('AppTable');
        }
        return $this->appTable;
    }
但是,如果我尝试在我的
线程
扩展类中执行此操作,我将得到
getServiceLocator
未定义,因为该类未扩展控制器。我无法将
$this->appTable
传递给线程,因为无法序列化或取消序列化PDO


我怎样才能让它工作?

我怀疑这是可能的。您可以尝试使用从
Threaded
扩展
PDO
,但我想它会崩溃。您最好的选择可能是每个线程建立一个连接。并且可能用于保持低开销。我怀疑这是可能的。您可以尝试使用从
Threaded
扩展
PDO
,但我想它会崩溃。您最好的选择可能是为每个线程建立一个连接,并且可能使用它来保持较低的开销。