This is a quick HowTo for installing the eAccelerator PHP cache/optimizer on a Debian system (should be applicable to other Linux distros as well).

  1. Download the latest release from SourceForge.net to your server and extract the sources.
  2. Change to the sources directory and type in the following.
    export PHP_PREFIX="/usr"
    $PHP_PREFIX/bin/phpize
    ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config

    This should set up the environment and compile configuration correctly.
  3. Now compile with make and install with make install (as root) afterwards.
  4. To configure eAccelerator you have to edit your PHP config which resides in /etc/php4/apache2/php.ini on my system.
    Add the following lines at the end: extension="eaccelerator.so"
    eaccelerator.shm_size="16"
    eaccelerator.cache_dir="/tmp/eaccelerator"
    eaccelerator.enable="1"
    eaccelerator.optimizer="1"
    eaccelerator.check_mtime="1"
    eaccelerator.debug="0"
    eaccelerator.filter=""
    eaccelerator.shm_max="0"
    eaccelerator.shm_ttl="0"
    eaccelerator.shm_prune_period="0"
    eaccelerator.shm_only="0"
    eaccelerator.compress="1"
    eaccelerator.compress_level="9"

    The file README in the sources directory gives a pretty good explanation of all those parameters. The only one you should probably alter is the shm.size because 16MB of shared memory might be a little bit too conservative.
  5. Last step is to create the directory where eAccelerator stores the cached scripts which don’t fit into the shared memory. mkdir /tmp/eaccelerator
    chmod 0777 /tmp/eaccelerator

Now you’re done. Further tweaking can be accomplished by altering all the parameters in the php.ini file.

Ich habe mich endlich mal dran gemacht ein paar spassigere HTTP Error Messages f?r den Apache hier zu basteln. Die standardm?ssigen sind einfach zu langweilig. Hirschy war so nett mich mal mit ein paar netten Spr?chen zu versorgen.

Die Fehler werden alle von einem Script abgefangen, dem der Statuscode ?bergeben wird.
>>> Sourcecode

Im Apache muss nur noch in der httpd.conf f?r jede abgefangene Fehlermeldung ein Eintrag gemacht werden:

# Custom Response Messages
ErrorDocument 402 http://no-panic.at/error.php?e=402
ErrorDocument 403 http://no-panic.at/error.php?e=403
ErrorDocument 404 http://no-panic.at/error.php?e=404
ErrorDocument 405 http://no-panic.at/error.php?e=405
ErrorDocument 406 http://no-panic.at/error.php?e=406
ErrorDocument 407 http://no-panic.at/error.php?e=407
ErrorDocument 409 http://no-panic.at/error.php?e=409
ErrorDocument 410 http://no-panic.at/error.php?e=409
ErrorDocument 411 http://no-panic.at/error.php?e=411
ErrorDocument 414 http://no-panic.at/error.php?e=414
ErrorDocument 415 http://no-panic.at/error.php?e=415
ErrorDocument 417 http://no-panic.at/error.php?e=417

—————————————————–
Wichtig!
Die Direktive f?r den Fehler 401 MUSS ein lokaler Redirect sein, da sonst nicht der richtige Response an den Client geschickt wird und daher vermutlich keine Aufforderung zur Passwort eingabe erfolgt.
—————————————————–

Leider hab ich keine M?glichkeit gefunden, wie man das ganze bewerkstelligen kann ohne einen externen Redirect zu machen (mittels http://…) sodass es trotzdem f?r alle Domains auf diesem Server gilt. Wenn jemand Ideen hat, w?re ich sehr erfreut πŸ™‚ (evtl. mittels mod_rewrite ?).
Wenn man intern weiterleitet hat man n?mlich den Vorteil, dass etliche Variablen vom Server gleich gesetzt werden, man m?sste also nichtmal den Response Code per GET ?bergeben, sondern k?nnte ihn direkt in PHP per $_SERVER[‘REDIRECT_STATUS’] auslesen. Zus?tzlich w?rden noch einige andere sehr interessante Variablen gesetzt werden, die man dann weiterverarbeiten kann.

Anschlie?end noch ein paar Beispiele:

Vorschl?ge zu weiteren Error Messages sind bitte erw?nscht!
Auch Ideen, welche Bilder man bei den jeweiligen Messages verwenden k?nnte.
Fragen, W?nsche und vor allem Erg?nzungen/Anmerkungen zum PHP Code sind ausdr?cklich erbeten πŸ˜‰