beim Stoppen von XAMP (Version 0.3 (19), unter Leopard) bekam ich immer die Fehlermeldung
- Code: Select all
/Applications/xampp/xamppfiles/bin/apachectl: line 70: ulimit: open files: cannot modify limit: Invalid argument
Dahinter steckt nichts Schlimmes, aber schön ist so eine Meldung auch nicht. Ich habe den Fehler folgendermaßen behoben:
In der Shell editiere ich die Datei /Applications/xampp/xamppfiles/bin/apachectl. Das ist ein Shell-Skript zur Steuerung von Apache-httpd; hier kommt der Fehler in Zeile 70 zum Tragen, wie in der XAMPP-Ausgabe angezeit. (Es geht doch nichts über ausführliche Fehlermeldungen – danke, danke, danke!). In den Zeilen 64 bis 71 findet sich folgender Code:
- Code: Select all
64 ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"
65 # -------------------- --------------------
66 # |||||||||||||||||||| END CONFIGURATION SECTION ||||||||||||||||||||
67
68 # Set the maximum number of file descriptors allowed per child process.
69 if [ "x$ULIMIT_MAX_FILES" != "x" ] ; then
70 $ULIMIT_MAX_FILES
71 fi
In Zeile 64 wird (in den Back-Quotes) das Kommando ulimit -H -n ausgeführt. Das liefert auf meinem System statt einer Zahl den Text "unlimited". Der wird nun in das Kommando eingepackt, das zunächst in die Variable ULIMIT_MAX_FILES eingetragen und dann in Zeile 70 ausgeführt wird. Der Aufruf ulimit -S -n unlimited führt zu dem Fehler, weil das nicht numerisches Argument unlimited angegeben ist.
Meine Code-Änderung fängt eine nicht-numerische Ausgabe in Zeile 65 ab und setzt ULIMIT_MAX_FILES nur, wenn die Ausgabe numerisch ist. Es werden die Originalzeilen 64 bis 71 ersetzt:
- Code: Select all
64 # MODIFIED BY TOSTA 2009-03-07
65 ULIMIT=`ulimit -H -n | grep '^[0-9][0-9]*$'`
66 ULIMIT_MAX_FILES=
67 if [ -n "$ULIMIT" ]
68 then
69 ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"
70 fi
71 # END MODIFIED BY TOSTA
72 # -------------------- --------------------
73 # |||||||||||||||||||| END CONFIGURATION SECTION ||||||||||||||||||||
74
75 # Set the maximum number of file descriptors allowed per child process.
76 if [ "x$ULIMIT_MAX_FILES" != "x" ] ; then
77 $ULIMIT_MAX_FILES
78 fi
Die Änderungen können nur als Root durchgeführt werden.
Tosta