Laravel 5.4 – 没有从Job加载SoapClient
我有一个问题让PHP的SoapClient工作在我的Laravel工作。 我use SoapClient
导入SoapClient,但创build了可排队的作业,但Laravel无法find它。
但是当我在我的控制器中使用SoapClient时,它完美地工作。
我检查了phpini():SoapClient肯定是启用的。
有任何想法吗?
我的工作代码:
<?php namespace App\Jobs; use SoapClient; use Tymon\JWTAuth\Exceptions\JWTException; use JWTAuth; use Illuminate\Bus\Queueable; use Illuminate\Queue\SerializesModels; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; class ProcessQueuedRenderRequests implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; public function __construct() { } public function handle() { $soap = new SoapClient("http://mywsdl"); ...
错误日志:
[[2017-11-22 18:17:50] local.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Class 'SoapClient' not found in /var/www/app/Jobs/ProcessQueuedRenderRequests.php:44
我使用Laradockconfiguration的Docker。 joblistener是这样开始的:
docker-compose exec workspace bash php artisan queue:listen
使用$soap = new \SoapClient("http://mywsdl");
我曾经有过同样的问题。
发现问题。 肥皂未安装在工作区容器中。
当我像这样开始joblistener它的作品:
docker-compose exec php-fpm bash php artisan queue:listen
仍然有点奇怪,因为也应根据我的.env文件安装在工作区容器中。