Gearman,php扩展问题:在使用终端的..中找不到类'GearmanWorker',但可在浏览器上使用 [英] Gearman , php extension problem : Class 'GearmanWorker' not found in .. using terminal but works on browser
本文介绍了Gearman,php扩展问题:在使用终端的..中找不到类'GearmanWorker',但可在浏览器上使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我最近在ubuntu 10.04上安装了gearman,并安装了pecl扩展程序.现在,当我在包含以下内容的浏览器中运行php文件时:
I've installed gearman on ubuntu 10.04 recently and installed it's pecl extension. Now , when I run a php file in the browser that contains :
$client = new GearmanWorker();
die(var_Dump($client));
我得到object(GearmanWorker)#1 (0) { }
但是当在终端中(通过根用户)运行一个真实的工作文件时,我得到了:
but when running the a real worker file in terminal (by root) , I get this:
sudo php worker.php
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/imagick.ini on line 1 in Unknown on line 0
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/mcrypt.ini on line 1 in Unknown on line 0
PHP Warning: Module 'pcntl' already loaded in Unknown on line 0
PHP Fatal error: Class 'GearmanWorker' not found in /home/ME/public_html/try/worker.php on line 3
工人代码:
#!/usr/bin/php
<?php $worker= new GearmanWorker();
$worker->addServer('127.0.0.1');
$worker->addFunction("reverse", "reverse_fn");
while (1) {
print "Waiting for job...\n";
$ret = $worker->work();
if ($worker->returnCode() != GEARMAN_SUCCESS)
break;
}
function reverse_fn ($job)
{
$workload = $job->workload();
echo "Received
job: " . $job->handle() . "\n";
echo "Workload: $workload\n";
$result = strrev($workload);
for ($i = 1; $i <= 10; $i ++) {
$job->status($i, 10);
sleep(1);
}
echo "Result: $result\n";
return $result;
}
请帮助!
推荐答案
在命令提示符下键入php --ini
,以查看您的PHP CLI使用哪个php.ini.确保在该php.ini中启用了Gearman.
Type php --ini
at your command prompt to see which php.ini your PHP CLI uses. Make sure Gearman is enabled in that php.ini.
这篇关于Gearman,php扩展问题:在使用终端的..中找不到类'GearmanWorker',但可在浏览器上使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文