2017-07-05 1 views
0

J'ai déployé mon application php sur Google Cloud et j'obtiens actuellement l'erreur suivante lorsque j'appelle la ligne.Classe 'SoapClient' introuvable sur Google Cloud PHP App

$url = "S5WS.wsdl"; 
$client = new \SoapClient(dirname(__FILE__) . DIRECTORY_SEPARATOR . $url, array('trace' => true, 'soap_version' => SOAP_1_1)); 

message PHP:

PHP Fatal error: Class 'SoapClient' not found in /app/controllers/TicketController.php on line 211

j'ai ouvert le terminal dans le Cloud Google et tapé php -i | grep -i soap afin de vérifier l'état du savon et seemds être bien.

[email protected]****:/$ 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 
[email protected]:/$ 

Si j'appelle phpinfo(); dans le app.It me retourne contrairement à mon localhost pas Section de savon. Il n'y a que 2 lignes liées au savon.

SOAP Brad Lafountain, Shane Caraveo, Dmitry Stogov 

et dans la section de commande configure

'--enable-soap=shared' 

EDIT: App fonctionne sur PHP version 5.6

Répondre

0

Ainsi, selon documentation quelques extensions PHP sont compilés en commun, mais désactivé par défaut .Soap est l'une de ces extensions.Pour l'activer. Nous devrions créer un fichier php.ini dans le dossier de base du projet.

php.ini

; Enable the Soap extension 
extension=soap.so 

Après nouveau déploiement au savon serveur devrait être disponible.