2011-09-15 7 views
10

पर काम करता है मैं ubuntu 10.04 पर gearman हाल ही में स्थापित और स्थापित यह PECL विस्तार है है। अब, जब मैं ब्राउज़र में एक php फ़ाइल को चलाने में शामिल है कि:Gearman, php एक्सटेंशन से समस्या: क्लास 'GearmanWorker' में नहीं मिला .. टर्मिनल का उपयोग लेकिन ब्राउज़र

$client = new GearmanWorker(); 
die(var_Dump($client)); 

मैं object(GearmanWorker)#1 (0) { }

मिलता, लेकिन जब टर्मिनल में एक असली कार्यकर्ता फ़ाइल (रूट द्वारा) चल रहा है, मैं इस मिल:

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; 
} 

कृपया मदद! अपने कमांड प्रॉम्प्ट पर

+0

'var_dump (get_include_path())' CLI में और के माध्यम से दोनों CGI करो। वे अलग हो सकते हैं। – chelmertz

+0

माफ करना, मैं समझता हूँ कि नहीं तुम क्या मतलब है, लेकिन मैं एक apchae मॉड्यूल –

+0

यह वास्तव में अपने कमांड प्रॉम्प्ट पर virtualmin पैनल –

उत्तर

13

प्रकार php --ini जो php.ini अपने PHP CLI का उपयोग करता है देखने के लिए। सुनिश्चित करें कि उस php.ini में गियरमैन सक्षम है।

1
  1. gearman काम सर्वर और libgearman

    apt-get स्थापित gearman नौकरी-सर्वर libgearman-देव

  2. स्थापित PECL विस्तार

    apt-get स्थापित php-नाशपाती स्थापित करें php5-dev pecl इंस्टॉल गियरमैन

  3. सही php.ini फ़ाइल खोलें औरजोड़ें अंत में।

2

locate php.ini मेरी ubuntu लैपटॉप शो में 2 परिणामों का उपयोग:

/etc/php5/apache2/php.ini 
/etc/php5/cli/php.ini 

तो दोनों extension=gearman.so 2 में php.ini फ़ाइल जोड़ने php को पुनः आरंभ और अब काम कर रहा gearmand।

संबंधित मुद्दे