3.3k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo,
um eine mindmap in mein wiki zu integrieren, habe ich mir von freemind eine passende extension installiert. Leider habe ich noch Probleme - um diese zu identifizieren brauche ich (wie aus diversen posts hervorgeht) Einblick in ein errorlog, dafür wiederum Zugriff auf die php.ini.

Es gibt eine schöne Anleitung zum allgemeinen Thema php-errorlog
http://johannes-ruthenberg.de/php-errorlog#php_fehler

Es wird beschrieben, wie man seine php.ini lokalisiert: "[...]Gleich in der ersten Tabelle sollte es einen Eintrag „Loaded Configuration File“ geben, dahinter steht der Pfad der geladenen php.ini-Datei. [ist bei mir /usr/local/php5/lib/php.ini] ... Ruft man dies aus einem Ordner mit einer lokalen Datei heraus auf, steht deren Pfad dort, ansonsten der Pfad der globalen Konfigurationsdatei."

1. Mir bringt die Kenntnis der Bezeichnung des Pfades nichts?
2. Was könnte die Anweisung "Ruft man dies aus einem Ordner mit einer lokalen Datei heraus auf, steht deren Pfad dort, ansonsten der Pfad der globalen Konfigurationsdatei." konkret bedeuten?
- Aus welchem Ordner? Etwa in der Datenbank, oder über FTP (beides erfolglos versucht)?
- Wie mit einer "lokalen Datei"?...

Danke für eure Hilfe!
Uli

7 Antworten

0 Punkte
Beantwortet von supermax Experte (4.8k Punkte)
Ich vermute mal du hast einen Webspace ohne Shell-Zugang? Eventuell kannst du für dein Web die entsprechenden PHP-Konfigurationsoptionen durch einen Eintrag in der .htaccess-Datei setzen.

In dieser Datei kannst du mit
php_value PHP-Konfigurationsvariable Wert

bzw.
php_flat PHP-Konfigurationsvariable On|Off

die PHP-Konfiguration nur für deinen Webspace entsprechend anpassen. Hier findest du eine Liste der PHP-Konfigurationsvariablen, in der .htaccess kannst du nur jene ändern, die mit PHP_INI_ALL oder PHP_INI_PERDIR gekennzeichnet sind.
0 Punkte
Beantwortet von
Danke. Leider bin ich nicht wirklich weiter gekommen.

Nach deiner Anweisung, habe ich die htaccess geändert (über mein FTP-Programm, auf oberster ebene), so:
php_value PHP-Konfigurationsvariable Wert

php_flat PHP-Konfigurationsvariable On|Off

Daraufhin kam ein 500 Internal Server Error, mit dem Hinweis, weitere Infos würde ich in der error.log finden - die habe ich mir angeschaut: Keine Eintrag?!

Übrigens stand in meiner .htaccess vor meinen Einträgen nur:
# Liste der Dateiendungen die als PHP 5 verarbeitet werden sollen
AddHandler php-fastcgi5 .php .php5 .phtml

Ist da normal?

Meine info.php zeigt doch als Ort der php.ini "/usr/local/php5/lib/php.ini" an - wo ist die denn?

vg u
0 Punkte
Beantwortet von supermax Experte (4.8k Punkte)
Sorry, ich hab grad gesehen ich hab eine Tippfehler, statt "php_flat" muss es "php_flag" heißen.

Um alle Feldermeldungen und Warnungen in ein Logfile auszugeben, könntest du z.B. folgende Eintragungen machen:

php_value error_reporting E_ALL
php_value error_log /pfad/zu/deinem/homeverzeichnis/php_errors.log


Auf /usr/local/php5/lib/php.ini hast du als normaler User (ohne "root" = Adminzugang auf dem Server) keinen Zugriff bzw. kannst diese Datei maximal lesen, aber nicht ändern.

Beachte bitte auch, daß das Verzeichnis, in das die Error-Logs geschrieben werden sollen, für den Webserver-User berschreibbar sein muß, in der Regel mußt du in deinem FTP-Client hier die Berechtigungen auf rwxrwxrwx bzw. 0777 setzen.
0 Punkte
Beantwortet von
1. Habe das flat in flag geändert - kommt aber die gleiche Fehlermeldung, wenn ich auf die Seite gehe?!

2. Zu:
Auf /usr/local/php5/lib/php.ini hast du als normaler User (ohne "root" = Adminzugang auf dem Server) keinen Zugriff bzw. kannst diese Datei maximal lesen, aber nicht ändern

Kann es sein, dass ich die nicht lesen kann? Oder müsste ich sie lesen können (wenngleich ich sie nicht ändern kann)?

Wo ist denn diese file? Schottenhost ist mein Webserver, falls die Info relevant ist.

3. Die Berechtigungen kann ich nicht ändern, egal ob ich über meinen Browser (WebFTP) direkt die Zugriffsrechte einstelle oder über FileZila - sie springen immer wieder zurück.

Bin gespannt obs überhaupt weitergeht.
0 Punkte
Beantwortet von supermax Experte (4.8k Punkte)
Per FTP kannst du auf diese Datei nicht zugreifen, da du dein Homeverzeichnis nicht verlassen kannst. Wenn dein Hoster den "safe mode" aktiviert hat, kannst du auch von PHP aus nicht auf Dateien zugreifen, die außerhalb deines Homeverzeichnisses liegen.

Du kannst eventuell in deinem Script selbst am Anfang mittels der Funktion error_reporting() und ini_set() das Error-Logging einstellen.
0 Punkte
Beantwortet von
Ok, Danke! Damit wäre eine Ausgangsfrage geklärt.

Allerdings muss ich ja trotzdem irgendwie weiterkommen.

a) durch die Änderung der htaccess lege ich ja meine website flach.

Wenn (d.h. ich ersetze "Wert" nicht durch bspw. "1"):
php_value PHP-Konfigurationsvariable Wert
php_flag PHP-Konfigurationsvariable On|Off

Dann erscheint in der error.log (nicht php_errors.log!) folgende Fehlermeldung:
[Sun Aug 30 09:43:26 2009] [alert] [client xx.xxx.xxx.xx] /home/xxxxxxxx/.htaccess: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration, referer: http://xxxxxxxxxx.de/wiki/index.php?title=Hauptseite
- Habe mal einige Daten geX, da ich nicht weiß, was davon sensibel ist.

ebenso wenn:

php_value error_reporting E_ALL
php_value error_log /pfad/zu/deinem/homeverzeichnis/php_errors.log [müsste diese Anweisung angepasst werden; wüsste halt nicht wie, da ich auf die php_errors.log nicht zugreifen kann und ich auch keine zweite finde]

b) Eine andere Fehlermeldung:
PHP: Error parsing /xxxxxxx/php.ini on line 1
Obwohl ich ja gar keine php.ini finde - kann das denn sein?

c) (Das eigentliche Problem: leere Seite anstelle einer Mindmap.) Diese leere Seite erzeugt in der error.log keine Fehlermeldung.
0 Punkte
Beantwortet von
Hi,
ich weiß zwar nicht, was genau geändert wurde - jedenfalls funzt jetzt meine Seite trotz php.ini.
Mein Host (schottenhost) hat mir irgendwas umgestellt: war vorher localhost oder so.
Naja - also der Tipp: auch mal die ServiceHotline des Hosts bemühen.

Danke für eure Tipps!!!

(@admin: Thread kann ja jetzt wirklich wieder geschlossen werden.)
...