zeitweise Probleme mit php-Files

grunzl

Registered User
Hallo zusammen,

ich hoffe, mein Problem in die richtige Kategorie gepostet zu haben. ;)

Seit einiger Zeit habe ich ein Problem, aber keinen Ansatz für dessen Lösung.

Ich betreibe über einen V-Server ein Forum und 2 weitere Testforen (nicht öffentlich). Darüber hinaus geschieht die DB-Verwaltung mit phpMyAdmin.
Alles läuft im Grunde problemlos, bis auf den Moment, in dem ich phpMyAdmin oder eine speziellen Mod in einem der Testforen benutze. Statt der Ausführung der Links wird mir immer wieder ein Fenster geöffnet, über das ich gefragt werde, ob ich die php-Datei öffnen oder downloaden möchte. Wenn ich diese Meldung wegklicke, wird bei einem erneuten Versuch der Link richtig ausgeführt, es kann aber auch ab und an sein, dass die Meldung noch einmal erscheint. Dann beginnt das Spiel von vorn.
Es ist keine Regelmäßigkeit zu erkennen. Naja, außer der, dass es sich auf die Seiten von phpMyAdmin und den Mod in einem der Foren beschränkt. Datei- und Verzeichnisrechte habe ich schon überprüft, aber keine Abweichungen zu sonstigen Seiten gefunden, die problemlos funktionieren.

Installiert ist unter anderem apache2 (2.2.3-4+etch10), php5 (5.2.10-0.dotdeb.0) und mysql 5.0. Auf Anraten eines Bekannten habe ich mal kontrolliert, ob mod_deflate aktiviert ist. Das kann ich aber verneinen.


Würde mich sehr freuen, wenn jemand ein paar Tipps zur Fehlersuche für mich hat. ;)

Dankeschön!
 
Geben irgendwelche Logs weitere Auskünfte?
Auch wenn mir der Zusammenhang nicht ganz klar ist: Wie sieht es mit den Ressourcen auf dem System aus?


Aber eine allgemeine Warnung: Wenn du die php-Datei runterladen und den Quellcode dadurch lesen kannst, kann man das Passwort der Datenbanken herausfinden, weil das meistens im Klartext in einer php-Datei steht!!
 
Check deine Ressourcen, RAM + CPU + Swap / Hatte das gleiche Problem, bei mir lags daran, das der alte vServer nur 32MB Ram zugeteilt bekommen hatte und somit der Swap schneller voll war als ich den Ram freikloppen konnte ^^
 
Vielen Dank Euch beiden für Eure Antworten.

Sorry, dass ich zwei wichtige Dinge vergessen habe zu erwähnen.
  • Den Download habe ich mal ausprobiert. Die Dateien sind aber (zum Glück) leer. phpMyAdmin hat zudem via SysCP einen Verzeichnisschutz. Da sollte also (hoffentlich) nur ich rankommen.
  • Ebenso noch folgendes aus dem apache2 error.log:
    immer wenn der o.a. Fehler auftritt erscheint im log folgende Meldung:
    [notice] child pid xxxxx exit signal Segmentation fault (11)
Leider kann ich nicht ganz ausschließen, dass diese Fehlermeldung auch an anderer Stelle auftritt. Bei den genannten Problemen erscheint jedoch immer dieser Log-Eintrag.

Ein Ressourcenproblem kann ich nicht erkennen. Im Schnitt zeigt mir vzfree eine Verbrauch von 130 bis 180 MB an. Zur Verfügung stehen vertraglich 800MB, wobei Strato vor kurzem dem V-Server 5GB und ne zweite CPU spendiert hat. Über munin sind keine Swaps zu erkennen. Hier steht alles auf Null. Mit dem Load habe ich auch keine Problem, der avg. Load liegt bei 0,06.
 
Hallo,

Danke für Deine Antwort. :)

An der php.ini ändere ich nur alle heiligen Zeiten die upload_max_filesize, wenn ich es kurzfristig mal benötige. Andererseits, wenn es an der php.ini läge, würde sich das nicht auf den kompletten Webspace auswirken?

htaccess:
Z.B. bei dem phpMyAdmin Verzeichnis habe ich folgendes stehen:
Code:
AuthUserFile /var/kunden/xxx/.htpasswd
AuthGroupFile /dev/null
AuthName Intern
AuthType Basic
<Limit GET>
require valid-user
</Limit>
Das sollte auch OK sein, oder?
 
Ist vielleicht die Suhosin Extension für PHP installiert? Falls ja mal das access_log (bzw. error.log von Apache) checken (solltest du aber auch ohne installiertes Suhosin machen).
Ich hatte vor Kurzem ein ähnliches Problem welches durch einen von Suhosin vorgegeben Grenzwert verursacht wurde. Auch hier wurden die Scripts welche den Grenzwert überschritten nicht ausgeführt sondern zum Download angeboten (allerdings nur scheinbar, die Files waren leer).
 
Hallo,

ja, Suhosin ist installiert. Die apache log-Daten habe ich eigentlich immer wieder im Blick, aber außer den üblichen Scans und abgeblockten Eindringversuchen (mit [error]-Meldung), kann ich nichts finden.
Einzig eben die oben bereits erwähnten "[notice] child pid xxxxx exit signal Segmentation fault (11)" Meldungen, die aber nicht besonders gehäuft auftreten und zumindest keine merklichen Auswirkungen zu scheinen haben.

Von welchen Suhosin-Grenzwerten sprichst Du denn? Habe mir mal das ini-File angesehen, das aber recht kurz ist und keinerlei Hinweis auf irgendwelche Grenzwerte zeigt. :confused:
 
Also bei mir war es im Zusammenspiel mit Joomla, die betreffenden Variablen waren:
Code:
suhosin.post.max_vars
suhosin.request.max_vars
Als default sind diese Werte nicht explizit in php.ini gesetzt, du kannst sie aber durch phpinfo() anschauen.

Eine Überschreitung von durch Suhosin vorgegebenen Grenzwerten sollte aber auf jeden Fall im access_log zu finden sein, einfach mal nach dem String "limit exceeded" suchen. Falls eine Überschreitung vorliegt kannst du die Werte in php.ini neu setzen, für Details zu den Variablen bitte einen Blick in die Suhosin Dokumentation werfen...;)
 
Last edited by a moderator:
Wenn du Debian Pakete benutzt, und auch Suhosin aus den Paketen hast, tauchen die Fehlermeldungen für Suhosin im Syslog auf, nicht im error.log oder access.log.
 
Danke für Eure Antworten!

Soweit ich das in der phpinfo überblicken konnte, entsprechen die Suhosin Einstellungen alle den Default Werten und in der syslog konnte ich auch keinerlei "limit exceeded" Einträge finden.

Ich meine, dass Suhosin mit dem PHP-Paket von Dotdeb mitkam. suPHP ist nicht installiert.
 
sorry wegen des Doppelposts:

Ich bin nun mal dem Hinweis wegen Suhosin nachgegangen und habe es kurzzeitig deaktiviert. Evtl. fehlt mir noch eine längerfristige Beobachtung aber eines hat sich recht schnell gezeigt: im phpMyAdmin konnte ich problemlos arbeiten. Nach erneuter Aktivierung kamen recht schnell die besagten Fehler.

Nun liegt bei mir die suhosin.ini unter /etc/php5/conf.d/ mit folgendem Inhalt:
Code:
#configuration for php suhosin module
extension=suhosin.so
suhosin.post.max_vars = 400
suhosin.request.max_vars = 400

In der php5.ini kann ich leider keine weiteren Konfigurationen bzgl. Suhosin finden und welche Auswirkungen die beiden o.a. Werte haben, kann ich leider auch (noch) nicht beurteilen. Ob mich die suhosin.so weiterbringen würde....:confused: Vermutlich nicht, weil diese Datei ja keine veränderbare Datei ist.
Nun will ich da eigentlich nicht blind irgendwelche Versuche starten und würde mich über ein paar Tipps freuen! ;)
 
Last edited by a moderator:
Die Werte sind ja allen Anscheins nach schon erhöht worden, da die defaults bei Beiden 200 sind, gut möglich dass dies vom Install-Template so vorgegeben ist...z.B. von Confixx und Konsorten.
Wenn du mal nach "phpmyadmin suhosin" googelst wirst du sehen dass dies kein unbekanntes Problem ist, hier werden sogar Werte von 2048 genannt um das Problem zu beheben.
Falls du Bedenken hast und die Werte nicht global erhöhen willst kannst du die sie auch per .htaccess selektiv erhöhen:
Code:
php_value suhosin.request.max_vars [I]neuerWert[/I]
php_value suhosin.post.max_vars [I]neuerWert[/I]
 
Zwischeninfo:

nachdem ich die o.a. Werte mal erhöht hatte, waren die Fehlermeldungen zwar weniger geworden, aber eben leider nicht verschwunden.

Aber, ohne jetzt etwas verschreien zu wollen: nachdem ich vor ein paar Tagen die PHP-Version 5.2.11 eingespielt habe, erscheint sowohl das komische Download-Fenster nicht mehr und auch auch die "[notice] child pid xxxxx exit signal Segmentation fault (11)" Meldungen sind weg!

Mal sehen, ob das nun so auch bleibt. :)
 
Back
Top