web-dev-qa-db-fra.com

Problèmes d'utilisation de PostgreSQL avec XAMPP

Il semble que j'ai du mal à faire fonctionner PostgreSQL sur XAMPP (avec Lubuntu 14.02). Je suis nouveau à travailler avec PHP, serveurs et bases de données, mais je reçois le message d'erreur suivant.

Erreur fatale: appel de la fonction non définie pg_escape_string () dans /opt/lampp/htdocs/imageability/SkjemaDatabase.php à la ligne 551

Cela me semble donc poser un problème avec PostgreSQL. Le même message d'erreur apparaît pour pg_connect(). J'ai essayé plusieurs choses pour que PostgreSQL fonctionne avec XAMPP, comme supprimer les lignes suivantes dans mon fichier php.ini puis redémarrer le serveur, sans succès.

extension = php_pdo_pgsql.dll

extension = php_pgsql.dll

J'ai également lu que vous pouvez essayer de copier le fichier libpq.dll dans le dossier Apache, mais je ne semble pas avoir ce fichier du tout (recherché avec find). Cela peut-il être le problème?

J'ai également essayé de télécharger séparément Apache2, PHP5 et PostgreSQL, mais cela ne semble pas m'aider, car dans ce cas, je viens d'obtenir une page vierge, sans même un message d'erreur. Les fichiers PHP que j'utilise sont corrects et fonctionnent pour d'autres personnes. Je peux également obtenir d'autres fichiers PHP sur le serveur.

Reconnaissant pour toute aide!

1
Ingrid

Ma recommandation: n'utilisez pas XAMPP pour cela! C'est supposé être un moyen simple de faire fonctionner les piles Apache, MySQL, PHP, + Python/Perl habituelles. Laissez le jardin entouré de murs et votre jolie maison toute seule…

Aussi: Même si vous faites le faire fonctionner, rien ne garantit qu'il ne se cassera pas la prochaine fois que votre système ou XAMPP le sera. Ce cas d'utilisation n'est supporté par personne et certains des composants impliqués (notamment PHP) ne sont pas conçus pour gérer des modules non compilés pour leur version spécifique.

Comment configurer un environnement de développeur en mode natif sur Debian/Ubuntu

  1. Ouvrez une fenêtre de terminal ( Menu Autre LXTerminal )
  2. Arrêtez tous les services XAMPP en cours d'exécution
  3. Installez les packages requis:
    Vous pouvez utiliser une interface graphique ("Centre de logiciel") pour cela ou exécuter cette commande sur votre terminal:
    Sudo apt-get install Apache2 libapache2-mod-php5 postgresql php5-pgsql
    • Apache2 (le serveur Web Apache)
    • libapache2-mod-php5 (support PHP pour Apache)
    • php5-pgsql (support du client PostgreSQL pour PHP)
    • postgresql (le serveur PostgreSQL)
  4. Ouvrez le fichier /etc/php5/Apache2/php.ini dans un éditeur de texte en tant que root:
    Dans la fenêtre du terminal, tapez la commande
    gksudo leafpad /etc/php5/Apache2/php.ini et appuyez sur enter
  5. Localisez la ligne display_errors = Off et remplacez-la par display_errors = On
    Screenshot of the display_errors line and documentation
  6. Enregistrez le fichier et fermez l'éditeur
  7. Redémarrez le serveur Web Apache:
    Exécutez la commande Sudo service Apache2 restart dans la fenêtre de votre terminal pour redémarrer le serveur Web et recharger son module PHP.
2
ntninja