Hey, tous le monde !
Je suis actuellement en train de développer un projet sous Symfony 2.3, et aujourd'hui je m'attelle à la réalisation d'un script qui récupère les mails Gmail.
Malheureusement quand j'exécute, ma tâche avec la console de symfony, j'ai :
Erreur maudite:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $ app/console answer:script PHP Fatal error: Call to undefined function Answer\HomeBundle\Command\imap_open() in /Applications/MAMP/htdocs/Symfony/src/Answer/HomeBundle/Command/GMailReader.php on line 40
J'éxecute un script présent dans: /Applications/MAMP/htdocs/Symfony/src/Answer/HomeBundle/Command/scriptCommand.php
scriptCommand.php
Ce script fait appel, à d'autre Class, présentes elles aussi dans: /Applications/MAMP/htdocs/Symfony/src/Answer/HomeBundle/Command/, nottament GMailReader.php, qui ouvre la connexion IMAP.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 <?php namespace Answer\HomeBundle\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; use Symfony\Component\HttpFoundation\Response; use Answer\HomeBundle\Entity\Reponse; use Answer\UserBundle\Entity\User; class scriptCommand extends ContainerAwareCommand { protected function configure() { $this ->setName('answer:script') ->setDescription('Greet someone') ; } protected function execute(InputInterface $input, OutputInterface $output) { include_once 'GMailReader.php'; require_once 'GoogleAgenda.php'; require_once 'GoogleAgendaEvent.php'; require_once 'GoogleAgendaException.php'; $em = $this->getContainer()->get('doctrine')->getEntityManager(); $repository = $this->getContainer()->get('doctrine')->getRepository('AnswerUserBundle:User'); $users = $repository->findAll(); foreach($users as $user){ $login = $user->mail_login; $password = $user->mail_password; $link_agenda = $user->cal_url; /* * MAIL: CONNEXION ET RECUPERATION */ $gmail = new GMailReader(); $gmail->openMailBox($login, $password); $date = date('j-M-Y'); $msgNonLu = $gmail->getMessagesSince($date); ......... } } ?>
GMailReader.php:
Je voudrais savoir, pourquoi imap_open n'est pas reconnu, alors qu'il est bien actif dans tout mes php.ini. Je m'y prends surement mal dans l'organisation de mes fichiers étant donné que je suis débutant dans Symfony ^^.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <?php namespace Answer\HomeBundle\Command; class GMailReader { private $mail; public function __construct() { } public function openMailBox($user, $password) { $this->mail = imap_open("{imap.gmail.com:993/imap/ssl}INBOX", $user, $password); } .......... } ?>
Je peux au besoin clarifié certaines choses n'hésiter pas à me demander
Merci, et bonne journée !
Adrien
Partager