我将我的php应用程序部署到Google Cloud,并在我调用该行时获得以下错误。
$url = "S5WS.wsdl";
$client = new \SoapClient(dirname(__FILE__) . DIRECTORY_SEPARATOR . $url, array('trace' => true, 'soap_version' => SOAP_1_1));
PHP消息:
PHP Fatal error: Class 'SoapClient' not found in /app/controllers/TicketController.php on line 211
我在Google Cloud中打开终端并键入php -i | grep -i soap
,以便检查肥皂的状态,看起来没问题。
baltacii@s5-app-****:/$ php -i | grep -i soap
soap
Soap Client => enabled
Soap Server => enabled
soap.wsdl_cache => 1 => 1
soap.wsdl_cache_dir => /tmp => /tmp
soap.wsdl_cache_enabled => 1 => 1
soap.wsdl_cache_limit => 5 => 5
soap.wsdl_cache_ttl => 86400 => 86400
baltacii@s5-app-167912:/$
如果我在应用程序中调用phpinfo();
。它与我的本地主机没有肥皂部分相反。肥皂只有2条线。
SOAP Brad Lafountain, Shane Caraveo, Dmitry Stogov
并在配置命令部分
'--enable-soap=shared'
编辑:应用程序在PHP 5.6版上运行
答案 0 :(得分:0)
所以根据documentation,一些PHP扩展被编译为共享,但默认情况下禁用.Soap是这些扩展之一。为了激活它。我们应该在项目的基础文件夹中创建一个php.ini。
的php.ini
; Enable the Soap extension
extension=soap.so
应该可以使用服务器SOAP的新部署。