gearman doBackground()不使用php

gearman doBackground()不使用php,php,yii,gearman,worker,producer,Php,Yii,Gearman,Worker,Producer,我使用ubuntu 12.04 64位、PHP5.3.10和gearman 1.1.5在本地系统上运行。 以下代码 print gearman_version() . "\n"; 抛出php警告 PHP警告:模块“gearman”已加载到第0行的未知中 此外,我还使用 <?php class WorkerAdminCommand extends CConsoleCommand { public function run() { $gmworker = new GearmanW

我使用ubuntu 12.04 64位、PHP5.3.10和gearman 1.1.5在本地系统上运行。 以下代码

print gearman_version() . "\n";
抛出php警告

PHP警告:模块“gearman”已加载到第0行的未知中

此外,我还使用

<?php
class WorkerAdminCommand extends CConsoleCommand {

public function run() {

    $gmworker = new GearmanWorker();
    $gmworker->addServer(); // also tried with $gmworker->addServer('127.0.0.1:4730');
    $gmworker->addFunction("getMyFunc", array($this, "getMyFunc"));
    print "Waiting for job...\n";
    while ($gmworker->work()) {
        if ($gmworker->returnCode() != GEARMAN_SUCCESS) {
            echo "return_code: " . $gmworker->returnCode() . "\n";
            break;
        }
    }
}

public function getMyFunc($job) {
     echo "start \n";
  // long task 
     echo "\n end \n";
}

和AdminCommand.php

<?php

class AdminCommand extends CConsoleCommand {

public function run($args) {
    $gmclient = new GearmanClient();
    $gmclient->addServer();

    echo "Sending job\n";
    $data =  $args[0];
    $result = $gmclient->doBackground("getMyFunc", $data);

    # Check for various return packets and errors.
    switch ($gmclient->returnCode()) {
        case GEARMAN_WORK_STATUS:
        list($numerator, $denominator) = $gmclient->doStatus();
        echo "Status: $numerator/$denominator complete\n";
        break;
        case GEARMAN_WORK_FAIL:
        echo "Failed\n";
        exit;
        case GEARMAN_SUCCESS:
        echo "Job process successfully\n";
        break;
        default:
        echo "RET: " . $gmclient->returnCode() . "\n";
        exit;

    }
    echo $result . PHP_EOL;
}

跑工 php job_entry.php workeradmin 等待工作。。。 运行客户端 php job_entry.php admin arg1 这给了我错误

PHP错误[2]:GearmanClient::doBackground():发送数据包(GEARMAN\u无法\u连接)无法发送服务器选项数据包->libgearman/connection.cc:430

你能试试这个吗

 $gmworker->addServer('127.0.0.1','4730');

在命令提示符下键入php--ini以查看php CLI使用的php.ini。确保该php.ini中启用了Gearman。src

PHP的解决方案是什么警告:模块'gearman'已加载到第0行的未知中
此错误。