2012-10-05 1 views
1

gearman을 사용하여 gearman-php-extensions의 GearmanClient 클래스를 사용하여 작업을 생성하려고합니다. 나는 명령 prompt-Yii가 GearmanClient를 찾을 수 없습니다.

//php client.php works fine 
<?php 
$client= new GearmanClient(); 
$client->addServer(); 
$task = $client->do("send", "hi"); 
?> 

를 사용하여 프로그램 아래 실행할 수 있어요하지만 일부 yii controller에서이 코드를 실행 wan't. yiiGearmanClient 클래스까지 경로를 찾을 수 없지만 그 이유는 무엇입니까?

또한 프로그램을 eclipse에 작성했습니다. php 명령과 eclipse은 모두 동일한 php 라이브러리를 사용하므로 내 yii 컨트롤러가 정상적으로 작동합니다. 대신 내 브라우저는 다음과 같은 오류 메시지를 표시합니다.

PHP warning 

include(GearmanClient.php): failed to open stream: No such file or directory 
#plus some warnings and the yii stack trace. 
+0

파일은 어디에 있습니까? 너는 그것을 어떻게 포함하고 있는가? 코드 위의 –

+0

은'protected/controllers/ReportsController.php'의 일부입니다. 'yii' 계층 구조를 알기를 바랍니다. client.php에 5 행 코드 스 니펫을 넣으면'terminal '에'php '으로 작동합니다. 하지만 브라우저에서는 실행되지 않습니다. – Hussain

+2

아니요. GearmanClient.php 파일은 어디에 위치해 있습니까? 너는 그것을 어떻게 포함하고 있는가? 잘못된 경로를 지정하면 PHP가 그러한 오류를주는 이유가 될 수 있습니다. –

답변

2

PHP 파일을 처리하는 프로세스가 최신 php.ini 구성으로 업데이트되지 않기 때문에 이런 현상이 발생합니다. 따라서 프로세스를 다시 시작하면됩니다. 따라서

는 :

  1. PHP 핸들러는 웹 서버 모듈로 실행중인 경우, 당신은 웹 서버를 다시 시작해야합니다.

  2. PHP가 cgi 프로세스로 실행 중이면 해당 프로세스를 다시 시작해야합니다.