Dreamhost: personalizzare php.ini



Suggerimento rapidorapido pescato dal forum di supporto di Dreamhost.

Nel caso si abbia la necessità di personalizzare il PHP.INI, ad esempio (come è servito a me) per aumentare il timeout di uno script, la procedura è questa:

  1. Se non presente, creare una directory 'cgi-bin' all'interno della directory che ospita il dominio (mkdir ~/domain.com/cgi-bin/)

  2. Nella home del proprio utente, creare un file (php_update.sh) contenente il seguente script:
    [sourcecode language="php"]
    #/bin/sh

    CGIFILE="$HOME/dominio.com/cgi-bin/php.cgi"
    INIFILE="$HOME/dominio.com/cgi-bin/php.ini"

    cp /usr/local/bin/php "$CGIFILE"
    cp /etc/php/php.ini "$INIFILE"

    perl -p -i -e '
    s/.*post_max_size.*/post_max_size = 100M/;
    s/.*upload_max_filesize.*/upload_max_filesize = 100M/;
    s/.*max_execution_time.*/max_execution_time = 600/;
    s/.*memory_limit.*/memory_limit = 90M/;
    ' "$INIFILE"
    [/sourcecode]

  3. Renderlo eseguibile (chmod +x php_update.sh) ed eseguirlo (./php_update.sh).

  4. Aggiornare il file .htaccess nella root del sito (o crearlo se non presente) e aggiungere la riga seguente: "AddHandler php-cgi .php" (senza i ")

  5. Aggiungere lo script al crontab in modo da farlo eseguire a scadenza settimanale, in modo da mantenere la propria copia locale di php.ini aggiornata con quello principale.


Published: March 22 2009

  • category: