Ich habe anscheinend Probleme, PostgreSQL auf XAMPP zum Laufen zu bringen (mit Lubuntu 14.02). Ich bin neu in der Arbeit mit PHP, Servern und Datenbanken, aber ich erhalte die folgende Fehlermeldung.
Schwerwiegender Fehler: Aufruf der nicht definierten Funktion pg_escape_string() in /opt/lampp/htdocs/imageability/SkjemaDatabase.php in Zeile 551
Es scheint mir also ein Problem mit PostgreSQL zu sein. Die gleiche Fehlermeldung wird angezeigt pg_connect()
. Ich habe einige Dinge versucht, um PostgreSQL mit XAMPP zum Laufen zu bringen, z. B. das Entfernen der Kommentarzeichen aus den folgenden Zeilen in meiner Datei php.ini
und anschließendes Neustarten des Servers, jedoch ohne Erfolg.
Erweiterung=php_pdo_pgsql.dll
Erweiterung=php_pgsql.dll
Ich habe auch gelesen, dass man versuchen kann, die Datei in einen Apache-Ordner zu kopieren libpq.dll
, aber ich scheine diese Datei überhaupt nicht zu haben (mit gesucht find
). Kann das das Problem sein?
Ich habe auch versucht, Apache2, PHP5 und PostgreSQL separat herunterzuladen, aber das scheint mir nicht zu helfen, da ich in diesem Fall nur eine leere Seite bekomme, nicht einmal eine Fehlermeldung. Die PHP-Dateien, die ich verwende, sind in Ordnung und funktionieren für andere Leute, und ich kann auch andere PHP-Dateien auf dem Server zum Laufen bringen.
Bin für jede Hilfe dankbar!
Antwort1
Meine Empfehlung: Verwenden Sie hierfür nicht XAMPP! Es soll eine einfache Möglichkeit sein, den üblichen Apache-, MySQL-, PHP- und Python/Perl-Stack zum Laufen zu bringen. Verlassen Sie den Walled Garden und Sie sind weitgehend auf sich allein gestellt …
Außerdem: Selbst wenn SieTunWenn Sie es zum Laufen bringen, gibt es keine Garantie, dass es beim nächsten Mal nicht Ihr System oder XAMPP selbst kaputt macht. Dieser Anwendungsfall wird von niemandem unterstützt und einige der beteiligten Komponenten (insbesondere PHP) sind nicht dafür ausgelegt, Module zu verarbeiten, die nicht für ihre spezifische Version kompiliert wurden.
So richten Sie eine Entwicklerumgebung nativ auf Debian/Ubuntu ein
- Öffnen Sie ein Terminalfenster (Speisekarte→Andere→LXTerminal)
- Stoppen Sie alle aktuell laufenden XAMPP-Dienste
- Installieren Sie die erforderlichen Pakete:
Sie können hierfür entweder eine GUI („Software Center“) verwenden oder diesen Befehl auf Ihrem Terminal ausführen:
sudo apt-get install apache2 libapache2-mod-php5 postgresql php5-pgsql
apache2
(Der Apache-Webserver)libapache2-mod-php5
(PHP-Unterstützung für Apache)php5-pgsql
(PostgreSQL-Client-Unterstützung für PHP)postgresql
(Der PostgreSQL-Server)
- Öffnen Sie die Datei
/etc/php5/apache2/php.ini
in einem Texteditor als Root:
Geben Sie im Terminalfenster den Befehl ein
gksudo leafpad /etc/php5/apache2/php.ini
und drücken Sie die Eingabetaste - Suchen Sie die Zeile
display_errors = Off
und ändern Sie sie indisplay_errors = On
- Speichern Sie die Datei und schließen Sie den Editor
- Starten Sie den Apache-Webserver neu:
Führen Sie den Befehlsudo service apache2 restart
in Ihrem Terminalfenster aus, um den Webserver neu zu starten und sein PHP-Modul neu zu laden