User Tools

Site Tools


doc:appunti:prog:note_di_programmazione_in_php

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:prog:note_di_programmazione_in_php [2008/03/20 16:29] – external edit 127.0.0.1doc:appunti:prog:note_di_programmazione_in_php [2012/05/21 22:30] – [Personalizzare php.ini in esecuzione CGI o FastCGI] niccolo
Line 38: Line 38:
  
 L'opzione **-f** forza l'installazione anche in caso di versioni beta, ecc. I pacchetti Pear vengono salvati in ''**/usr/share/php/**''. L'opzione **-f** forza l'installazione anche in caso di versioni beta, ecc. I pacchetti Pear vengono salvati in ''**/usr/share/php/**''.
 +
 +===== Personalizzare php.ini in esecuzione CGI o FastCGI =====
 +
 +Se il PHP viene eseguito come [[wp>Common_Gateway_Interface|CGI]] oppure come [[wp>FastCGI]] le impostazioni tradizionali di php.ini oppure del VirtualHost di Apache non sono prese in considerazione.
 +
 +Una soluzione è quella di creare un wrapper che faccia puntare ad una directory con il **''php.ini''** personalizzato ed eventualmente settare le necessarie variabili di ambiente.
 +
 +Ecco un esempio per impostare la **Default timezone** e la **date.timezone**. Si crea un file **''php-fcgi-wrapper''**:
 +
 +<code bash>
 +#!/bin/sh
 +PHPRC="/var/www/customer1/php-cgi/"
 +export PHPRC
 +PHP_DOCUMENT_ROOT="/var/www/customer1/www"
 +export PHP_DOCUMENT_ROOT
 +export TZ=Europe/Rome
 +exec /usr/bin/php-cgi $1
 +</code>
 +
 +e quindi nel VirtualHost di Apache si attiva il wrapper con qualcosa del genere:
 +
 +<file>
 +    </Directory>
 +        <Directory /var/www/customer1/www>
 +        AddHandler fcgid-script .php .php3 .php4 .php5
 +        FCGIWrapper /var/www/customer1/php-cgi/php-fcgi-wrapper .php
 +        Options +ExecCGI
 +        AllowOverride All
 +        Order allow,deny
 +        Allow from all
 +    </Directory>
 +</file>
 +
 +Nel php.ini personalizzato si può mettere ovviamente:
 +
 +<file>
 +[Date]
 +date.timezone = Europe/Rome
 +</file>
 +
 +Dopo aver modificato il wrapper - se si usa FastCGI - bisogna riavviare Apache in modo da ricaricarlo in memoria.
doc/appunti/prog/note_di_programmazione_in_php.txt · Last modified: 2013/04/16 11:33 by niccolo