Poniżej kod mojej klasy CronCommand:
<?php namespace AppBundle\Command; use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; class CronCommand extends ContainerAwareCommand{ protected function configure() { $this->setName('app:przypominajka') ->setDescription('Przypomnienie'); } protected function execute(InputInterface $input, OutputInterface $output) { $doctrine = $this->getContainer()->get('doctrine'); $em = $doctrine->getEntityManager(); $matchdayObject = $em->getRepository('AppBundle:Matchday')->getMatchday(); $usersPhones = $em->getRepository('AppBundle:Type')->getNoTypedUsersList($matchdayObject['name']); $client = new SoapClient("http://api.gsmservice.pl/soap/v2/gateway.php?wsdl"); "recipients" => $usersPhones, "message" => "Przypomnienie", "sender"=> "Damian", "msgType" => 1, "unicode" => false, "sandbox" => false )); } }
Na serwerze hostingowym w katalogu projektu Symfony wykonałem następującego CRONa (aby zweryfikować poprawność) :
/usr/local/bin/php70 /home/dcpl/domains/dc84.pl/app/console app:przypominajka
Po wykonaniu otrzymałem następujący błąd:
[dcpl@s25 dc84.pl]$ /usr/local/bin/php70 /home/dcpl/domains/dc84.pl/app/console app:przypominajka [Symfony\Component\Debug\Exception\ClassNotFoundException] Attempted to load class "SoapClient" from namespace "AppBundle\Command". Did you forget a "use" statement for another namespace? app:przypominajka [-h|--help] [-q|--quiet] [-v|vv|vvv|--verbose] [-V|--version] [--ansi] [--no-ansi] [-n|--no-interaction] [-s|--shell] [--process-isolation] [-e|--env ENV] [--no-debug] [--] <command>
Wie ktoś może jaką klasę tutaj powinienem zaimportować aby to zadziałało ?
PS. Dodam tylko że support hostingu potwierdził mi że Soap jest zainstalowany na moim koncie:
"SOAP jest uruchomiony na Pana koncie cały czas."
To by się zgadzało bo zwykły testowy plik PHP z powyższym skryptem wysyłającym smsa działa.