[Task] Call to undefined function imap_open
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:
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
Code:
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);
.........
}
}
?> |
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.
GMailReader.php:
Code:
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 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 ^^.
Je peux au besoin clarifié certaines choses n'hésiter pas à me demander
Merci, et bonne journée !
Adrien