Google Cloud PHP App上找不到“SoapClient”类

时间:2017-07-05 10:05:54

标签: php google-app-engine soap soap-client

我将我的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版上运行

1 个答案:

答案 0 :(得分:0)

所以根据documentation,一些PHP扩展被编译为共享,但默认情况下禁用.Soap是这些扩展之一。为了激活它。我们应该在项目的基础文件夹中创建一个php.ini。

的php.ini

; Enable the Soap extension
extension=soap.so

应该可以使用服务器SOAP的新部署。