1

我正在使用 Brian Moon 的 Gearman Manager,例如,它允许我将工人发送到后台。我面临的问题是当我想使用通过使用global关键字在函数外部定义的变量时:

$var = 200;

  function worker_execution($job, &$log) {

    global $var;
    echo "global is: ".$var."\n";

}

此代码不会输出 200,因为变量为 NULL!?

你知道为什么要在工作函数中启用全局作用域吗?

我认为问题是齿轮管理器没有按原样包含工作文件......它正在读取它并直接进入“工作函数”,但是仍然应该有一个解决方案来访问范围之外的变量工人功能?!

4

2 回答 2

0

显示整个代码。例如,如果在调用 $worker->work() 之后声明变量,它将不会被执行,因为 work() 会进入无限循环。我确定工人代码中的全局变量没有问题。

于 2011-07-26T14:12:46.603 回答
0

请注意,请参阅 https://groups.google.com/forum/#!topic/gearman/CNbuTshWfXA,使用 $GLOBALS 即可。

于 2015-09-24T08:51:49.090 回答