Ich bin zu dem Schluss gekommen, dass meine PHP-Installation und meine MySQL-Installation nicht miteinander auskommen. Ich arbeite daran, meine erste Webseite zu erstellen, die MySQL für Inhalte verwendet, aber nach zwei Tagen, Manpages, Online-Dokumentation und Dutzenden von Tutorials kann ich den PHP / MySQL-Teil einfach nicht zum Laufen bringen. Ich habe einen etablierten Heimwebserver (ich bin der einzige Administrator / Benutzer), der Apache ausführt und meine Webseiten hostet. Ich habe MySQL installiert und konnte eine Datenbank über Terminal erstellen und abfragen. Ich habe PHP installiert und kann Echo verwenden, um Text in das Dokument zu drucken. Wenn ich jedoch mit MySQL arbeite, ändert sich alles…
Ich habe eine Seite, die Initialisierungsmaterial enthält. enthält einige Absätze von fest codiertem HTML und dann PHP-Code für den Zugriff auf MySQL. Als ich die Seite zum ersten Mal geladen habe, war alles, was daraus resultierte, eine leere Seite. Ich habe den PHP-Abschnitt auskommentiert und neu geladen, um zu bestätigen, dass der einfache HTML-Code immer noch funktioniert, was auch der Fall war. Daher verhinderte ein Teil von PHP, dass eine Seite jemals geladen wurde.
Um mit der Fehlerbehebung bei meinem Code zu beginnen, habe ich den gesamten PHP-Code kommentiert, mit Ausnahme des folgenden Codes für die Serververbindung, der aus verschiedenen Tutorials angepasst wurde:
<?
echo("<p>PHP is working</p>");
$ses = mysql_connect("localhost","username","password");
if(!$ses){
echo("<p>Connection to content server failed.</p>");
exit();
}
echo("<p>Database Connected</p>");
?>
Wenn die Seite geladen wird, wird zusätzlich zu einem Absatz mit der Aufschrift „PHP funktioniert“ der beginnende HTML-Code geladen, es wird jedoch weder die Fehler- noch die Erfolgsmeldung angezeigt. Ich habe die If-Struktur aus dem Code entfernt - so dass nur noch zwei Echos und mysql_connect übrig waren - und das gleiche Ergebnis erhalten.
Es scheint, dass die Funktion mysql_connect dazu führt, dass der Server den Code nicht mehr lädt, wenn er ausgeführt wird, aber ich habe keine Ideen, wie ich ihn beheben kann. Für den Datensatz: Ich habe die Datei php.ini so geändert, dass sie die Zeile "connection = msql.so" enthält, und ich verwende MySQL 5.5, Apache 2.2.22, PHP 5.3.10, Ubuntu 12.04. Außerdem wurden sowohl mein Router als auch mein Modem so konfiguriert, dass Port 3306 an den Server weitergeleitet wird - obwohl ich nicht sehe, wie dies erforderlich sein sollte - und mein MySQL-Benutzername und mein Kennwort wurden dreimal überprüft und sind mit denen identisch, die ich erfolgreich verwende im Terminal.
Was vermisse ich?
php5-mysql
?Antworten:
Alles sieht in Ordnung aus, daher denke ich, dass Ihre Installation nicht abgeschlossen ist. Damit MySQL und PHP kommunizieren können, müssen Sie das
php5-mysql
Paket installieren :quelle
Installieren Sie das
php5-mysql
Paket und verwenden Sie mysqli_connect anstelle von mysql_connectquelle
Finden Sie die Tomcat-Version von
/etc/init.d/
. Es sollte eine Datei mit dem Namen tomcat7 geben, daher ist 7 die VersionManchmal hilft der Neustart des Computers beim Sortieren anderer Probleme. Vergessen Sie nach dem Neustart nicht, Folgendes auszuführen:
quelle