Question

L'un de nos scripts d'analyse de courrier électronique est d'avoir un problème en utilisant les fonctions imap:

  

Erreur fatale: Appel undefined   imap_open fonction ()

IMAP est certainement activé, il a été compilé avec php et apparaît dans le phpinfo () et lorsque vous faites get_loaded_extensions() ou extension_loaded("imap") Y at-il des raisons pour lesquelles ces fonctions peuvent ne pas être accessibles?

version IMAP est 2007e et PHP est 5.3.

Edit 1: Ceci est en cours d'exécution sur un serveur Mac (OSX 10.5.7) le script en utilisant la fonction imap est dans / var / *** / J'ai essayé de mettre un fichier de test dans / Bibliothèque / WebServer / Document (le web root) en utilisant imap_open avec les détails exacts mêmes et il semble fonctionner.

La façon dont il est configuré travaillé avant une mise à jour de PHP - est-il une raison pour elle d'arrêter de travailler? Je sais que je pourrait déplacer le script email dans les documents webserver dir mais je voudrais aussi savoir pourquoi il cesse de fonctionner comme il était avant - pourrait-il être la façon dont PHP est configuré

Était-ce utile?

La solution

echo get_cfg_var('cfg_file_path');

vous pouvez savoir qui php.ini a été utilisé par cette instance de php. Vous verrez probablement que le module apache-php (ou est-ce php-cgi?) Et la version php cli (utilisé par votre cronjob) utilisent différents fichiers .ini.
Selon la façon dont vous avez installé PHP (et comment cette version de PHP a été compilé) le module apache peut également analyser les fichiers .ini supplémentaires que votre version cli ne fonctionne pas. Pour vérifier si tel est le terme de cas

<?php phpinfo(); ?>

dans votre serveur Web et recherchez une entrée « fichiers .ini supplémentaires analysés ».
Dans tous les cas, vous devez veiller à ce que la configuration utilisée par la version cli comprend l'extension = php_imap ... directive.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top