2017-01-11 13 views
3

私はいくつかのバックグラウンドタスクを実行するためにLaravelワーカーを使用しています。私が使用して労働者を起動すると は、「PHP職人キュー:仕事を」、それは問題なく動作しますクラスが見つかりません。SupervisordからLaravelスクリプトを呼び出す

しかし、私は、次のcongifuration使用して、CentOSのでsupervisordには、同じコマンドを追加する場合:私は取得

[program:laravel-worker]

process_name=%(program_name)s_%(process_num)02d command=php

/var/www/html/laravel/artisan queue:work

autostart=true

autorestart=true

user=root

numprocs=8

redirect_stderr=true

stdout_logfile=/var/www/html/laravel/worker.log

を次のエラーが発生します。

PHP Fatal error: Class 'SoapClient' not found in /var/www/html/laravel/app/External/library/RegistrationServi‌​ce.php on line 169

[Symfony\Component\Debug\Exception\FatalErrorException] Class 'SoapClient' not found

(インストールされているにもかかわらず)SoapClientが見つからないとジョブが実行されません。 SoapClientクラスは、外部からロードするプレーンなPHPクラスに継承されています。

コマンドラインから問題なく実行すると、このクラスをコントローラまたはジョブで使用できますが、スーパーバイトではエラーメッセージが表示されます。物事をより奇妙なものにするために、この外部クラスを利用する1つのジョブでのみ発生します.Laravelのクラス(コントローラ、イベントなど)を使用するジョブでは発生しません。 Laravel 5.2でSoapClientについては

+0

それは「あなたが述べたエラーを共有する価値があるかもしれませんSoapClientが見つかりません "またはそれを呼び出すコード – haakym

+0

PHP致命的なエラー:Class 'SoapClient'が/var/www/html/laravel/app/External/library/RegistrationService.phpに見つかりませんでした169 [ symfony \ Component \ Debug \ Exception \ FatalErrorException] クラス 'SoapClient'が見つかりません – FiFo

+0

betteあなたの質問を編集するには – haakym

答えて

0

  1. Config/app.php

  2. 'SoapClient' => SoapClient::class,を追加するには、お使いのコントローラでuse SoapClient;を追加します。

  3. soapClinetをご使用の場合:new SoapClient('...');それはデフォルトを選択しなかった理由

+0

上記のどれも違いがありません Ubuntuサーバーではまったく同じコードが既に動作しています。PHPのartisan queue:workが端末から手動で呼び出されたときに、ターゲットのCentOSサーバーで動作します。問題はCentOSのsupervisordと関係があります – FiFo

+0

こんにちは@FiFo、私はcentOSで動作しませんでした。すみません。 – mySun

0

私はPHPバイナリの正確なパスを指定することで、それを解決することができ 私はまだ理解していない1

関連する問題