Php 从Supervisord调用Laravel脚本时未找到类

Php 从Supervisord调用Laravel脚本时未找到类,php,laravel,centos7,supervisord,laravel-queue,Php,Laravel,Centos7,Supervisord,Laravel Queue,我正在使用Laravel workers执行一些后台任务。 当我使用“php artisan queue:work”调用worker时,它可以正常工作 但当我在CentOS中将相同的命令添加到supervisord时,使用以下压缩: [项目:拉雷维尔工人] 进程名称=%(程序名称)s%(进程编号)02d命令=php /var/www/html/laravel/artisan队列:工作 自动启动=真 自动重新启动=真 用户=根 numprocs=8 重定向\u stderr=true stdout

我正在使用Laravel workers执行一些后台任务。 当我使用“php artisan queue:work”调用worker时,它可以正常工作

但当我在CentOS中将相同的命令添加到supervisord时,使用以下压缩:

[项目:拉雷维尔工人]

进程名称=%(程序名称)s%(进程编号)02d命令=php

/var/www/html/laravel/artisan队列:工作

自动启动=真

自动重新启动=真

用户=根

numprocs=8

重定向\u stderr=true

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

我得到以下错误:

PHP致命错误:在中找不到类“SoapClient” /var/www/html/laravel/app/External/library/registrationservice‌​ce.php 第169行

[Symfony\Component\Debug\Exception\FatalErrorException]类 找不到“SoapClient”

作业未执行,并抱怨未找到SoapClient(尽管已安装)。SoapClient类由我从外部加载的普通PHP类继承


注意,当从命令行执行时,我可以通过控制器或作业使用这个类,没有任何问题,只有在supervisord中,它才会给我错误消息。更奇怪的是,它只发生在一个使用此外部类的作业上,而不发生在仅使用Laravel类(控制器、事件等)的作业上。

对于Laravel 5.2中的
SoapClient

  • Config/app.php

  • 添加
    使用SoapClient在控制器中

  • 在函数中使用
    soapClinet
    newsoapclient(“…”)


  • 我可以通过指定php二进制文件的精确路径来解决这个问题
    我仍然不明白为什么它没有选择默认的

    在您声明“抱怨找不到SoapClient”的地方分享错误可能是值得的或者调用itPHP致命错误的代码:在第169行[Symfony\Component\Debug\Exception\FatalErrorException]的/var/www/html/laravel/app/External/library/RegistrationService.php中找不到类“SoapClient”类“SoapClient”无法更好地使用它编辑您的问题上述任何一项都不会有什么不同。完全相同的代码已经在Ubuntu服务器上运行,并且当从终端手动调用php artisan queue:work时,它可以在目标CentOS服务器上运行。这个问题与CentOS上的supervisord有关