gpt4 book ai didi

php - PHP-无法从线程访问全局变量?

转载 作者:行者123 更新时间:2023-12-03 12:55:24 25 4
gpt4 key购买 nike

我想这是一个特定的问题,但是由于某种原因,当我创建这样的线程时:

require_once(__DIR__.'/myotherfile.php');
class StreamBufferInput extends Thread {
public function run(){
global $max_buffer_size;
global $data_source;
echo "DATA:" . $max_buffer_size;
...
}
}
myotherfile.php中声明了这两个变量(可以从其他类中访问它们,但是我的 echo语句在这里打印了 DATA:而没有其他内容。我在类中做全局变量时找不到很多,但是我有一个像这样的全局声明在我其他类(class)之一的功能,它工作正常。

编辑:这是我如何启动线程。
$stream = new StreamBufferInput();
$stream->start();

最佳答案

目前,这在PHP中是不可能的。您不能从线程本身内部访问在线程外部定义的全局范围变量。但是,您可以使用Thread::globally在全局范围内的线程范围内执行可调用对象,我相信这可以帮助您实现所需的目标。

您可以阅读有关此here的更多信息

关于php - PHP-无法从线程访问全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31525517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com