• User Newbie

    Multi PHP su IIS 6

    Buongiorno a tutti, vi illustro il mio problema.
    Lavoro su win2k3 & iis 6 e hosto diversi siti.. Sto cercando il modo di poter usare più versioni di php contemporaneamente.

    Del tipo:
    Sito A utilizza php 5.2.6
    Sito B utilizza php 5.2.9

    Questo perchè spesso e volentieri ci sono incompatibilità fra siti, magari devo cambiare una variabile per far andare a dovere un sito e "grazie" a quella variabile cambiata mi si scombina un altro.

    E' possibile su iis?
    Ho googlato molto, sembra tanto facile.. ma non funziona.
    Ho seguito ad esempio una guida presente sul sito iis-aid ma
    ma una volta fatto tutto, vado a provare e il problema che viene fuori è questo: Invalid access to memory location.

    Grazie mille.


  • Moderatore

    Il metodo è quello descritto qui http://www.iis-aid.com/articles/how_to_guides/running_multiple_versions_php_iis

    In sostanza si tratta in primo luogo di modificare il registro di sistema in modo da far sapere a IIS che ci sono più istanze di PHP.

    In secondo luogo devi usare i mappings per dire a IIS quale versione di PHP vuoi fargli usare per ogni singolo virtualhost/sito web.


  • User Newbie

    Grazie Paolino, si ho risolto tutto alla fine.
    E' semplice, ma non com'è descritto, anyway tutto ok.
    Ora sorge un altra cosa.. assegnare un php.ini per ogni sito web.
    Sapete come poter fare?


  • Moderatore

    Non c'è modo di farlo, la configurazione di php non supporta i virtual host.

    Al massimo puoi fare un'installazione di php per ogni sito web e creare un php.ini ad hoc per ognuno.

    Se hai questo genere di necessità mi sa ti conviene puntare sulla virtualizzazione.


  • User Newbie

    uhm.. di conseguenza è improponibile fare un'installazione di php per ogni sito web.
    Avevo letto qualcosa riguardo a sta cosa di assegnare un php.ini per ogni sito smanettando con il file .htaccess ma la documentazione a tal proposito è drammaticamente frammentaria, non sono riuscito a comporre qualcosa di sensato.
    Grazie comunque


  • Moderatore

    Purtroppo IIS non supporta questo meccanismo.

    Per esempio se avessi avuto Apache avresti usato l'override delle direttive del php.ini tramite i file di configurazione vhost.conf.

    vhost.conf va posto nella directory in cui resiedono i contenuti del dominio, in genere nella sottodirectory /conf/

    Il codice è simile a questo

    
    <Directory /var/www/vhosts/miodominio.com/httpdocs>
    php_admin_flag safe_mode off
    php_admin_value open_basedir none
    </Directory>
    
    

    in questo caso ho modificato le direttive safe_mode e open_basedir e le modifiche valgono solo per il miodominio.com.

    Quel file può essere messo nella directory httpdocs del dominio o nella directory di configurazione di apache, questo dipende dalla distribuzione di apache e/o di linux usate ( nel caso sia su linux )


  • User Newbie

    Bien, ti ringrazio.
    per l'uso del php.ini in questo caso mi attaccherò allegramente eheh.
    E' stato molto utile poter mettere più versioni di php, è incredibile vedere come alcuni siti che giravano su php 5.2.6 non vadano più su 5.2.9...bah.
    Grazie mille per i reply, veramente molto utili.