2017-10-19 6 views
0

Je travaille avec laravel 5.4. La fonction du contrôleur qui utilise laravel dans le navigateur fonctionne. Même fonction que j'ai appelée via scheduler, elle renvoie une erreur.PHP Erreur fatale: Classe 'SoapClient' introuvable dans laravel 5.4

Remarque: Soapclient est activé sur mon serveur. Dans le code du contrôleur:

use SoapClient; 
$client = new SoapClient($wsdl, array( 
       'soap_version' => SOAP_1_1, 
       'trace' => true, //to debug 
      )); 

et kernel.php

$schedule->command('eld:fetch') 
    ->everyMinute(); 

Répondre

0

PHP Fatal error: Class 'SoapClient' ne trouve pas dans Laravel 5.4 signifie que la classe SoapClient n'a pas été activé dans votre serveur. Pour ce faire, procédez comme suit:

  1. Vérifiez d'abord si elle est activée avec la fonction phpinfo() et regardez dans le tableau si SoapClient est mentionné activée. Si ce n'est pas activé, suivez la deuxième étape.
  2. Décommentez la ligne extension=php_soap.dll en supprimant le point-virgule au début, dans le fichier php.ini.
  3. L'étape suivante consiste à redémarrer votre serveur.
  4. Revenez maintenant à la première étape pour voir si SoapClient est maintenant activé.
  5. À cette étape, vous pouvez maintenant importer votre classe comme ceci:

use SoapClient; $client = new SoapClient($wsdl, array('soap_version' => SOAP_1_1, 'trace' => true));

+0

SoapClient est enabled.And i vérifié par phpinfo(). –

+0

Pourriez-vous localiser le _line number_ de cette erreur? ** PHP Erreur fatale: Classe 'SoapClient' introuvable dans laravel 5.4 **. S'agit-il de la ligne d'importation ('use') ou de la ligne de création d'instance (' new')? –

+0

[Symfony \ Component \ Debug \ Exception \ FatalErrorException] La classe 'SoapClient' est introuvable. Une erreur est créée lors de l'appel d'une fonction de contrôleur à partir de la commande console. handle de fonction publique() { $ orbcomm = new Orbcomm(); $ orbcomm-> fetchorbcommdata(); } –