我有一个使用Laravel Framework(5.7)的WebApp。
在Macbook上,我安装了:
- Php 7.2.1
- Composer 1.7.2
- XAMPP 4.4.1
当我跑步时:$ php artisan queue:work
一切都很好!我的工作非常完美(它调用了ASP.NET服务上的API-asmx)
但是!!
当我在Linux服务器上部署WebApp时,它不起作用!!!
在failed_jobs
表中,我看到以下消息:Class 'SoapClient' not found
。
当我通过WebBrowser致电(例如:http://my_server_linux_ip/dosomething
,就可以了!)
我真的在soap
中打开了php.ini
扩展名
我的Linux服务器已安装:
- Php 7.2.13
- Composer 1.7.2
- Apache2
我的composer.json
:
"require": {
"php": "^7.1.3",
....
}
Php-Soap:
$ apt-cache search php | grep -i soap
libnusoap-php - SOAP toolkit for PHP
php7.0-soap - SOAP module for PHP
python-pysimplesoap - simple and lightweight SOAP Library (Python 2)
python3-pysimplesoap - simple and lightweight SOAP Library (Python 3)
php-soap - SOAP module for PHP [default]
php5.6-soap - SOAP module for PHP
php5.6-soap-dbgsym - debug symbols for php5.6-soap
php7.0-soap-dbgsym - debug symbols for php7.0-soap
php7.1-soap - SOAP module for PHP
php7.1-soap-dbgsym - debug symbols for php7.1-soap
php7.2-soap - SOAP module for PHP
php7.2-soap-dbgsym - debug symbols for php7.2-soap
php7.3-soap - SOAP module for PHP
php7.3-soap-dbgsym - debug symbols for php7.3-soap
我不知道为什么!
救救我!谢谢!
答案 0 :(得分:0)
如果在服务器上运行php -m
,会发生什么?您在那看到SoapClient enabled
吗?
如果是,则尝试在服务器上运行composer dump-autoload -o
(确保供应商文件夹包含正确的软件包之后)。