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!
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.
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)/etc/php5/Apache2/php.ini
dans un éditeur de texte en tant que root:gksudo leafpad /etc/php5/Apache2/php.ini
et appuyez sur enterdisplay_errors = Off
et remplacez-la par display_errors = On
Sudo service Apache2 restart
dans la fenêtre de votre terminal pour redémarrer le serveur Web et recharger son module PHP.