我在PHP中使用pthreads并注意到pthreads在其上下文中丢失了对象变量,这是正常的还是错误还是我做错了什么?
class Downloader extends Thread {
private $ch;
public function __construct($data) {
$this->ch = curl_init();
}
public function __destruct() {
curl_close($this->ch);
}
public function run() {
// we just lost resource of curl -> [resource(4) of type (Unknown)]
curl_setopt($this->ch, CURLOPT_URL, $this->url);
}
}
答案 0 :(得分:1)
这是正常的:https://gist.github.com/krakjoe/6437782
我没有必要再次写出相关部分;你将从阅读整篇文章中受益。
TL; DR资源正式不受支持,再加上pthreads对象的工作方式,这会导致您遇到的行为。