Zum Inhalt springen

PHP-Fehlermeldungen im FE und im BE (Symlinks)

Erstellt am 29. August 2006 · 23 Antworten · letzte Antwort am 12. Februar 2008 · Seite 1 von 2

Tags: PHP, Datenbank, Frage

wobflo ·

Hallo

Ich besitze einen Rootserver und benutze Typo3 mittels Symlinks die von verschiedenen Installationen auf das Typo3-Source verweisen.

Vor ein paar Tagen bekam ich, wenn ich auf "Web->Liste" geklickt habe, im rechten Frame folgende Fehlermeldung:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 814

Warning: Cannot modify header information - headers already sent by (output started at /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php:814) in /var/typo3/typo3_src-4.0.1/typo3/template.php on line 613

Die Funktionen waren dadurch jedoch nicht beeinträchtigt.

Beim löschen einer vorhanden Seite bekam ich dort, wo sich normalerweise der rechte und der mittlere Frame befanden, folgende Fehlermeldung:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 801

Warning: Cannot modify header information - headers already sent by (output started at /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php:801) in /var/typo3/typo3_src-4.0.1/typo3/tce_db.php on line 225

Seit kurzem bekomme ich jedoch immer mehr Fehlermeldungen, ohne dass ich was im Source geändert habe!

Im FE:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 801

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 801

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 801

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 826

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 801

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 801

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 826

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 801

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 801

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 801

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 801

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 801

Warning: Cannot modify header information - headers already sent by (output started at /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php:801) in /var/typo3/typo3_src-4.0.1/typo3/sysext/cms/tslib/class.tslib_fe.php on line 2826

Und beim einloggen ins BE:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 801

Warning: Cannot modify header information - headers already sent by (output started at /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php:801) in /var/typo3/typo3_src-4.0.1/typo3/index.php on line 473

Somit habe ich kein Zutritt mehr zum BE.

Ich hoffe ihr könnt mir helfen das Problem zu lösen.

Hier noch ein paar Daten:
Typo3-Version: 4.0.1
OS: Linux Debian 3.1 (sarge)
Apache: 1.3.33
MySql: 4.0.24_Debian-10sarge2-log
PHP: 4.3.10-16

mfg
Florian

wobflo ·

Derjenige, dessen Problem du verlinkt hast, hat seine Lösungsansätze mithilfe des DB-Analysers bekommen.
Mit dem DB-Analyer kann ich aber (meines Wissens nach) nicht arbeiten, da ich nicht mal mehr ins BE komme.

Was mich stutzig macht ist die Herkunft der Fehlermeldung.
Am Source habe ich eigentlich gar nichts verändert, aber dort entsteht der Fehler.

contentXXS ·

Hallo,

wobflo schrieb

Derjenige, dessen Problem du verlinkt hast, hat seine Lösungsansätze mithilfe des DB-Analysers bekommen.
Mit dem DB-Analyer kann ich aber (meines Wissens nach) nicht arbeiten, da ich nicht mal mehr ins BE komme.

Klar. Aber wenn du PhpMyAdmin verfügbar hättest, könntest du in die Tabellendefinitionen schauen ob das Problem in der dort erwähnten Tabelle das selbe ist. Wenn es daran liegt, könntest du es dort auch beheben.

wobflo schrieb

Was mich stutzig macht ist die Herkunft der Fehlermeldung.
Am Source habe ich eigentlich gar nichts verändert, aber dort entsteht der Fehler.

Der Fehler muss ja im Code entstehen - wo auch sonst... 🙂

Aber die Ursache des Fehlers wird nicht der Code sein, sondern die Datenbank.
Zumindest wenn es sich um die selbe Ursache handelt.

Machst du von der mySQL DB regelmäßig Backups?

Grüße

wobflo ·
contentXXS schrieb

Klar. Aber wenn du PhpMyAdmin verfügbar hättest, könntest du in die Tabellendefinitionen schauen ob das Problem in der dort erwähnten Tabelle das selbe ist. Wenn es daran liegt, könntest du es dort auch beheben.

PhpMyAdmin habe ich, jedoch habe ich weder die Extension "direct_mail" noch "direct_mail_subscription" installiert. Also habe ich auch nicht die tabelle "tt_adress", in der bei deinem geposteten Link der Fehler auftrat.

contentXXS schrieb

Der Fehler muss ja im Code entstehen - wo auch sonst... 🙂

Aber an den Dateien habe ich nie etwas verändert. Und das Typo3-Dummy-Paket verändert doch eigentlich nichts am Typo3-Source oder nicht?

contentXXS schrieb

Machst du von der mySQL DB regelmäßig Backups?

Ja, aber das möchte ich erst als letzte Möglichkeit einspielen, da dass meine erste richtige Seite in Typo3 ist, und ich den Großteil in den letzten Tagen verändert und erstellt habe. Das Backup ist aber dummerweise schon eine Woche alt.

mfg

contentXXS ·

Hallo,

wobflo schrieb

PhpMyAdmin habe ich, jedoch habe ich weder die Extension "direct_mail" noch "direct_mail_subscription" installiert. Also habe ich auch nicht die tabelle "tt_adress", in der bei deinem geposteten Link der Fehler auftrat.

OK, dann lässt das auf einen anderen Fehler schließen!

Beim googeln habe ich dazu auch nicht mehr gefunden bis auf die verschwundene ID Spalte in bestimmten Tabellen.

Du könntest noch versuchen ein mySQL Dump zu machen, und diesen mit einer neuen typo3 Installation in einer neuen Datenbank zu verwenden.

Mehr fällt mir auch nicht ein 🙁

Ralph

contentXXS ·

Hallo,

hast du das mySQL Debugging in der t3lib_db schon eingeschaltet?

Datei:
.../typo3_src-4.0.1/t3lib/class.t3lib_db.php

Bei mir Zeile 142:
var $debugOutput = FALSE;
// Set "TRUE" if you want database errors outputted.

HTH,

Ralph

wobflo ·

War bis eben auf FALSE und ist nun auf TRUE gesetzt.
Aber an den Fehlermeldungen hat sich leider nichts geändert 🙁
Es werden also auch keine Datenbankfehler ausgegeben.

mfg

contentXXS ·

Hi,

ärgerlich!

Du könntest noch versuchen in der Datei in der Zeile vor 800 ein mysql_error einzubauen.

In der Art:

function sql_fetch_assoc($res)  {
  if (mysql_errno() > 0) {
    echo mysql_errno() . ": " . mysql_error() . "\n";
    # die("\nAbbruch\n");
  }
  return mysql_fetch_assoc($res);
}

Mit oder / ohne die().

Grüße

wobflo ·

Ich glaub da sind wir dem Fehler schon näher gekommen.

Und zwar bekam ich folgende Fehler zusätzlich ausgegeben:

mysql_errno: Can't open file: 'cache_hash.MYI'. (errno: 145)

Wenn ich diese DB-Tabelle per Phpmyadmin aufrufe, bekomme ich diese Fehlermeldung:

Bild: img167.imageshack.us/…/fehlertp7.jpg

Leider kann ich mit der Fehlermeldung nichts anfangen 🙁
Bzw weiss ich das er eine Datei names cache_hash.MYI nicht öffnen kann, aber diese Datei kenn ich nicht

mfg

###EDIT###

Ich habe die komplette Datenbank gesichert, gelöscht und nochmal neu aufgespielt, und nun funktioniert es wieder.
Vielen Dank für deine Hilfe!

###EDIT zum zweiten###
Im BE bekomm ich immernoch Fehlermeldungen:

Web->Seite:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 817

Warning: Cannot modify header information - headers already sent by (output started at /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php:817) in /var/typo3/typo3_src-4.0.1/typo3/template.php on line 613

Web->List:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 817

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 817

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 817

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 817

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 817

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 817

Warning: Cannot modify header information - headers already sent by (output started at /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php:817) in /var/typo3/typo3_src-4.0.1/typo3/template.php on line 613

###So noch ein Update###

Es half nichts, und ich habe ein älteres Backup eingespielt.
Nun sind zwar einige Daten futsch, aber es gibt schlimmeres.

Meine Bearbeiten scheint wirklich kein Ende mehr zu nehmen 🙂
Durch rumprobieren mit der "DB Überprüfung" und dem "DB-Analyser" konnte ich die Fehler dezimieren und es treten nur noch folgende Fehler auf:

Web->Liste

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 817

Warning: Cannot modify header information - headers already sent by (output started at /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php:817) in /var/typo3/typo3_src-4.0.1/typo3/template.php on line 613

Und beim löschen einer angelegten Seite:

mysql_errno: Unknown column 'uid' in 'field list'
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 804

Warning: Cannot modify header information - headers already sent by (output started at /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php:802) in /var/typo3/typo3_src-4.0.1/typo3/tce_db.php on line 225

contentXXS ·

Hallo,

wobflo schrieb

Ich glaub da sind wir dem Fehler schon näher gekommen.

Und zwar bekam ich folgende Fehler zusätzlich ausgegeben:

mysql_errno: Can't open file: 'cache_hash.MYI'. (errno: 145)

Wenn ich diese DB-Tabelle per Phpmyadmin aufrufe, bekomme ich diese Fehlermeldung:

Bild: img167.imageshack.us/…/fehlertp7.jpg

Leider kann ich mit der Fehlermeldung nichts anfangen 🙁
Bzw weiss ich das er eine Datei names cache_hash.MYI nicht öffnen kann, aber diese Datei kenn ich nicht

Das ist keine Datei!

cache_hash

ist eine mySQL Tabelle in der typo3 Datenbank.

Ralph

contentXXS ·

Hallo,

wobflo schrieb

Und beim löschen einer angelegten Seite:

mysql_errno: Unknown column 'uid' in 'field list'
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/typo3/typo3_src-4.0.1/t3lib/class.t3lib_db.php on line 804

Wenn er die Spalte uid nicht finden kann, ist das wiederum ein mySQL Fehler.
Die Frage wäre, welche Tabelle das sein soll.

Ich würde es wie im Post eines weiter oben beschrieben mySQL Reparatur probieren.

Entweder hatte das verwendete Backup schon einen Fehler, oder der ganze mySQL Datenstand ist so korrupt, dass ein Restore auf Datebankebene nicht reicht.

Grüße,

Ralph

wobflo ·

Ich hab die Schnauze voll!

Der mysql-repair verlief problemlos und hat keine Probleme festgestellt, die Fehlermeldungen erscheinen aber weiterhin.

Ich hab die gesamte Seite gelöscht und werd sie nochmal neu machen.
War eh kaum Inhalt drauf.

Vielen Dank für deine Mühe contentXXS!

contentXXS ·

Hallo,

wobflo schrieb

Ich hab die Schnauze voll!

Das ist durchaus nachvollziebar. Es empfiehlt sich per täglichem Cronjob ein mySQL Dump plus eine Kopie der relevante Dateien zu machen. Ich halte diese 7 Tage auf dem Server vor, danach werden sie dort automatisiert gelöscht.
Ferner hole ich diese tar.gz während der Nacht ab und speichere sie lokal noch einmal. Dort sind die dann Teil meiner lokalen Backupstrategie.

wobflo schrieb

Vielen Dank für deine Mühe contentXXS!

Hoffen wir, dass es nicht mehr vorkommt!

Grüße

wobflo ·
contentXXS schrieb

Hoffen wir, dass es nicht mehr vorkommt!

Doch, aber:
Ich habe Typo3 nun ein paar mal neuinstalliert, und hatte wieder die Fehlermeldung. Aber erst nachdem ich die Extensions installiert habe.
Also wieder alles neuinstalliert und jedes mal nach einer installierten Extension überprüft.
Und es kam raus dass die Extension goof_fotoboek schuld war.
Ob ich den Fehler nun irgendwie beheben kann ist mir inzwischen wurscht, da ich stattdessen eine andere Extension verwenden werde.

mfg

contentXXS ·

Hallo,

wobflo schrieb

Und es kam raus dass die Extension goof_fotoboek schuld war.

Lässt sich das näher eingrenzen? Kommt der Fehler unmittelbar nach der Installation von goof_fotoboek?

Ich setze das bei einer typo3 Site auch mit typo3 4.0.01 ein.

Und dazu bahag_photogallery.

Bislang ist mir noch nichts nachteiliges aufgefallen.

Grüße

wobflo ·

Also ich habe die Extension normal installiert, d.h.:
1. Die Extension in der Version 1.7.10 aus dem Extension-Repository von typo3.org geladen
2. Ext Manager -> Import extension und installiert
Und dann habe ich die Seite "Web->Liste" betreten, habe im mittleren Frame eine Seite ausgewählt und bekam die Fehlermeldung...

Könnte es vllt. an irgendwelchen Rechten liegen (mysql z.B.)?

mfg

contentXXS ·

Hallo,

wobflo schrieb

Version 1.7.10

Ich habe noch die ältere 1.7.9 hier.
Bei den Stellen bei denen bei dir ein Fehler auftaucht kann ich hier bei mir keinen Fehler feststellen.

wobflo schrieb

Könnte es vllt. an irgendwelchen Rechten liegen (mysql z.B.)?

Halte ich für unwahrsccheinlich.

Welchen Fehler bekommst du aktuell?

Grüße

wobflo ·
contentXXS schrieb

Welchen Fehler bekommst du aktuell?

Gar keinen, da ich komplett auf diese Extension verzichtet habe.