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

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

王林
王林original
2023-06-22 22:30:212065parcourir

PHP est un langage de script côté serveur largement utilisé pour créer des applications Web. PostgreSQL est un système de gestion de base de données relationnelle open source populaire. Lorsque vous utilisez une base de données PostgreSQL, vous devez généralement utiliser une extension PostgreSQL en PHP. Cependant, parfois vous rencontrez une erreur, à savoir « Erreur fatale PHP : Appel à la fonction non définie pg_connect() », et vous devez résoudre ce problème pour procéder sans problème.

Alors, que devez-vous faire si vous rencontrez cette erreur lors de l'utilisation de PostgreSQL en PHP ? Cet article vous présentera plusieurs méthodes pour résoudre ce problème.

Méthode 1 : Installer l'extension PHP Postgresql

Tout d'abord, vous devez confirmer si l'extension PostgreSQL est installée sur votre PHP. S'il n'est pas installé, vous devez d'abord installer l'extension.

Si votre version de PHP est 5.3 et supérieure, vous pouvez utiliser l'outil PECL pour installer l'extension PostgreSQL. Ouvrez le terminal et entrez la commande suivante :

sudo pecl install pdo_pgsql

Si votre version de PHP est inférieure à 5.3, vous pouvez l'installer avec la commande suivante :

sudo apt-get install php5-pgsql

Après l'installation, si vous utilisez le serveur Apache, vous devez redémarrer Apache pour pour qu'il prenne effet.

Méthode 2 : Vérifiez le fichier php.ini

Si vous avez installé l'extension PostgreSQL et rencontrez l'erreur « Erreur fatale PHP : Appel à la fonction non définie pg_connect() », alors vous devez vérifier si le fichier php.ini est configuration correcte.

Tout d’abord, recherchez le chemin où se trouve le fichier php.ini. Normalement, le fichier php.ini se trouve dans le chemin /etc/php.ini ou /etc/php5/apache2/php.ini. Vous pouvez utiliser la commande suivante pour le trouver dans le terminal :

sudo find / -name "php.ini"

Après cela, ouvrez le fichier php.ini et recherchez la ligne de code suivante :

;extension=pgsql.so

Supprimez le symbole de commentaire ";" devient :

extension=pgsql.so

Ensuite, enregistrez et fermez le fichier php.ini. Si vous utilisez un serveur Apache, vous devez redémarrer Apache pour que cela prenne effet.

Méthode 3 : Vérifiez si le service PostgreSQL a été démarré

Si vous avez installé l'extension PostgreSQL et que le fichier php.ini a été configuré correctement, mais que vous rencontrez toujours l'erreur « Erreur fatale PHP : appel à une fonction non définie pg_connect() ", Ensuite, vous devez vérifier si le service PostgreSQL est démarré.

Normalement, le service PostgreSQL démarre automatiquement au démarrage du système d'exploitation. Vous pouvez vérifier si le service PostgreSQL est en cours d'exécution à l'aide de la commande suivante :

sudo service postgresql status

Si le service PostgreSQL n'est pas en cours d'exécution, vous pouvez démarrer le service à l'aide de la commande suivante :

sudo service postgresql start

De plus, si vous exécutez la base de données PostgreSQL sur une autre machine , vous devez spécifier l'adresse IP, le numéro de port, le nom d'utilisateur, le mot de passe et d'autres informations du serveur de base de données. Vous pouvez utiliser le code PHP suivant pour tester la connexion à la base de données :

$conn = pg_connect("host=localhost port=5432 dbname=mydatabase user=myusername password=mypassword");

Si la connexion réussit, cela signifie que vous avez résolu le problème "Erreur fatale PHP : Appel à une fonction non définie pg_connect()".

Résumé :

"Erreur fatale PHP : appel à la fonction non définie pg_connect()" Cette erreur est généralement causée par l'incapacité de PHP à trouver l'extension PostgreSQL ou par l'absence de configuration correcte dans le fichier php.ini. Vous pouvez résoudre ce problème en installant l'extension PostgreSQL, en vérifiant la configuration du fichier php.ini et en vérifiant si le service PostgreSQL est démarré. Si vous n'avez pas résolu cette erreur en suivant les méthodes ci-dessus, vous pouvez consulter le forum technique PHP ou la communauté de développement PHP pour obtenir plus d'aide.

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