Maison > Article > développement back-end > Solution à l'erreur fatale PHP : erreur non détectée : appel à une fonction non définie imap_search()
Lorsque vous utilisez PHP pour le développement lié au service de messagerie, vous pouvez rencontrer l'erreur « Erreur fatale PHP : Erreur non détectée : Appel à une fonction imap_search() non définie ». La raison de cette erreur est que PHP n'a pas trouvé la bibliothèque d'extension Imap, ce qui a empêché l'appel de la fonction imap_search().
Alors, comment résoudre ce problème ? Vous trouverez ci-dessous les étapes détaillées de la solution de contournement.
La première étape consiste à confirmer si la bibliothèque d'extensions Imap a été activée. On peut retrouver la ligne ";extension=php_imap.dll" dans le fichier php.ini, supprimer le point-virgule, et redémarrer le serveur PHP pour ouvrir la bibliothèque d'extensions Imap.
Si vous utilisez PHP sur un système Linux, vous devez exécuter la commande suivante dans le terminal pour installer la bibliothèque d'extensions Imap :
sudo apt-get install php-imap
Si vous confirmez que la bibliothèque d'extensions Imap n'est pas activée ou que les étapes ci-dessus ne résolvent pas le problème, vous devez alors installer manuellement la bibliothèque d'extensions Imap.
Sur les systèmes Windows, vous pouvez accéder à php.net pour télécharger la bibliothèque d'extensions Imap qui correspond au système d'exploitation actuel et à la version PHP, et suivre les instructions pour l'installer.
Sur les systèmes Linux, vous pouvez exécuter la commande suivante dans le terminal pour installer la bibliothèque d'extensions Imap :
sudo apt-get install php7.x-imap
où x représente le numéro de version PHP que vous utilisez actuellement.
Que vous soyez sous Windows ou Linux, après avoir installé la bibliothèque d'extensions Imap, vous devez toujours l'ajouter manuellement au fichier php.ini. Ouvrez le fichier php.ini, recherchez la ligne "extension_dir" et modifiez-la comme suit :
extension_dir = "Le répertoire où se trouve votre bibliothèque d'extensions Imap"
Ajoutez le contenu suivant sous cette ligne :
extension= php_imap.dll
Si vous utilisez un système Linux, vous devez exécuter la commande suivante :
echo 'extension=imap.so' >> ini
ln -s /etc /php/7.x/mods-available/imap.ini /etc/php/7.x/cli/conf.d/20-imap.ini
ln -s /etc/php/ 7.x/mods-available /imap.ini /etc/php/7.x/fpm/conf.d/20-imap.ini
Parmi eux, x représente le numéro de version de PHP que vous utilisez actuellement.
Après avoir terminé les étapes ci-dessus, vous devez redémarrer le serveur PHP pour que les modifications prennent effet. Sur les systèmes Windows, vous pouvez trouver le serveur PHP dans les services système, faites un clic droit et sélectionnez « Redémarrer ». Sur un système Linux, vous pouvez exécuter la commande suivante :
sudo service php7 Cette extension n'est pas activée par défaut. À ce stade, nous devons activer manuellement la bibliothèque d'extension Imap, ou installer la bibliothèque et l'ajouter au fichier php.ini pour utiliser normalement les fonctions liées à la messagerie PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!