Probleme mit php mail() und date() unter ISPConfig 2 (debian 5.0)

#1
Ich habe einen Root Server bei Hetzner, der im Prinzip gut läuft. Allerdings habe ich einige Probleme, die scheinbar durch ISPConfig verursacht werden.
Dazu muss ich sagen, dass ich erst ISPConfig 3 installiert hatte und es dann wieder durch die 2er ersetzt habe.
Bei den Installationen bin ich nach der "Perfect Debian" Anleitung für ISPConfig vorgegangen.

Die Cronjobs laufen, die User werden erstellt. E-Mails können versendet werden. PHP, mod-rewrite usw läuft alles.

Problem:
Das Problem ist sehr merkwürdig und tritt nicht bei allen angelegten Webs auf. Und noch merkwürdiger ist, dass das Problem sich in Luft auflöst, wenn man den Apache neu startet.
Nach dem Apache Neustart dauert es ca eine halbe bis dreiviertel Stunde, dann tauchen bei einigen Webs folgende Phänomene auf:

- die mail() Funktion wird nicht mehr ausgeführt. (Fehlermeldung: Warning: mail() [function.mail]: Could not execute mail delivery program '/usr/sbin/sendmail -t -i' in /var/www/web1/web/anfrage.php on line 124)

- Bei einem Web tauchen dazu noch diese Meldungen auf:
Warning: require(inc.footer.php) [function.require]: failed to open stream: Too many open files

Und diese:
Fatal error: date() [<a href='function.date'>function.date</a>]: Timezone database is corrupt - this should *never* happen!

Wenn ich den Webserver neu starte funktioniert wieder alles. Und diese Probleme treten, wie gesagt nicht bei allen Webs auf.

Hat jemand eine Idee woran es liegen könnte?
Soll ich configs posten? Wenn ja, welche?

Vielen Dank schon mal!
 

Till

Administrator
#2
Das file Limit Deines Servers ist zu klein eingestellt.

Je nach Linuxdistribution sollte iner der folgenden Wege gehen:

"ulimit -aH" that gives the max limit for number of open files returned 1024.

I added every possible way to increase it. Here are few

In /etc/security/limits.conf
soft nofile 1024
hard nofile 65535

Increase ulimit by "ulimit -n 65535"

echo 65535 > /proc/sys/fs/file-max

In /etc/sysctl.conf
fs.file-max=65535
 
#3
Ich hatte schon einmal die Limit etwas hochgesetzt. Aber scheinbar mit der falschen Methode.
Nun habe ich alle Methoden mit deinen Werten eingetragen und es scheint zu wirken.

Vielen Dank! :)
 
#4
Zu früh gefreut:
Warning: require(inc.footer.php) [function.require]: failed to open stream: Too many open files

ulimit nimmt die Änderungen scheinbar nicht an.

Code:
~# ulimit -aH
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 73728
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) unlimited
cpu time               (seconds, -t) unlimited
max user processes              (-u) 73728
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
und beim versuch es auf unlimited zu setzen:
Code:
~# ulimit -n unlimited
-bash: ulimit: open files: cannot modify limit: Die Operation ist nicht erlaubt
 
#5
Scheinbar hab ich vorhin einen Fehler gemacht.
Nachdem ich dann 'ulimit -n 65535' noch einmal gesetzt habe, scheint es nun zu laufen. ;)

Hoffentlich bleibt es so.
 

Werbung

Top