Maison  >  Article  >  développement back-end  >  Solution à l'erreur fatale PHP : appel à la fonction non définie fsockopen()

Solution à l'erreur fatale PHP : appel à la fonction non définie fsockopen()

WBOY
WBOYoriginal
2023-06-22 15:24:281418parcourir

Si vous rencontrez le message d'erreur "PHP Fatal error: Call to undefined function fsockopen()" lors de l'utilisation de PHP, cela signifie que la fonction fsockopen n'est pas activée dans votre environnement PHP. Dans cet article, nous allons résoudre ce problème à travers les étapes suivantes :

  1. Vérifiez si la fonction fsockopen est activée
  2. Si elle n'est pas activée, modifiez php ; Fichier de configuration .ini ;
  3. Redémarrez le serveur Apache ;
  4. Testez si le problème est résolu.

Présentons les étapes ci-dessus en détail.

  1. Vérifiez si la fonction fsockopen est activée

Tout d'abord, vous devez déterminer si la fonction fsockopen est activée dans votre environnement PHP. Vous pouvez vérifier si la fonction fsockopen est activée dans votre environnement PHP en créant une page phpinfo. La méthode est la suivante :

1) Créez un nouveau fichier dans un éditeur de texte et nommez-le phpinfo.php ( Notez que le suffixe doit être .php);
2) Entrez le contenu suivant dans le fichier :

<?php
phpinfo();
?>

3) Enregistrez le fichier et téléchargez-le dans le répertoire racine Web de votre serveur ;
4) Saisissez « http://votre nom de domaine/phpinfo.php » dans le navigateur pour accéder à la page.

Dans cette page, vous pouvez rechercher le mot-clé "fsockopen" et trouver la section "Flux PHP enregistrés" ou "Environnement PHP", où un "fsockopen" devrait être répertorié. Si elle n'est pas répertoriée, cela signifie que la fonction fsockopen n'est pas activée dans votre environnement PHP et que vous devez passer à l'étape suivante.

  1. S'il n'est pas activé, modifiez le fichier de configuration php.ini

Modifiez le contenu du fichier de configuration php.ini pour inclure le fonction fsockopen. Les opérations spécifiques sont les suivantes :

1) Utilisez SSH pour vous connecter au serveur
2) Saisissez la commande suivante pour trouver l'emplacement du fichier php.ini : #🎜🎜 #

php -i|grep php.ini

Cela affichera php Le chemin spécifique du fichier .ini

3) Ouvrez le fichier php.ini avec un éditeur, recherchez la ligne "disable_functions" dans le fichier php.ini et commentez. (ajoutez # avant le point-virgule), puis ajoutez "fsockopen" à cette ligne, par exemple :

disable_functions = #disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, fsockopen

Veuillez noter que si votre fichier php.ini n'a pas la ligne "disable_functions", vous devez l'ajouter manuellement.

4) Enregistrez et fermez le fichier php.ini.

    Redémarrez le serveur Apache
Après avoir terminé la modification du fichier php.ini, vous devez redémarrer le serveur Apache pour le rendre efficace . Les opérations spécifiques sont les suivantes :

1) Utilisez les instructions suivantes pour redémarrer le serveur Apache :

service httpd restart

2) Attendez quelques secondes jusqu'à ce que le redémarrage du serveur Apache soit terminé.

    Testez si le problème est résolu
Pendant le test, vous pouvez essayer d'exécuter à nouveau le code qui a déclenché l'appel de la fonction "fsockopen". Si le problème a été résolu, votre code devrait s'exécuter avec succès.

Résumé

Dans cet article, nous expliquons en détail comment résoudre le problème de « Erreur fatale PHP : Appel à la fonction non définie fsockopen() » en quatre étapes. Si vous rencontrez ce problème, vous pouvez le résoudre en suivant les étapes fournies dans cet article. Enfin, si vous rencontrez d'autres problèmes ou avez d'autres questions lors de la résolution du problème, vous pouvez laisser un message dans la zone commentaire.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn