Pagina 1 di 2
Apache2 e PHP
Inviato: mar 21 nov 2006, 16:46
da sir_alex
Ho installato da linuxpackages apache2 e php 5 per apache2, tuttavia quando avvio rc.apache2 il php non viene visualizzato come tale ma come file di testo (sto testando con phpmyadmin): cosa bisogna fare per far avviare correttamente il modulo di php?
Inviato: mar 21 nov 2006, 17:03
da DanBadJar
Io ho editato il file httpd.conf e ho aggiunto a mano il modulo relativo al php nell'apposita sezione e tutto ha funzionato perfettamente.
Da quanto ricordo inizia con LoadModule, ora purtroppo sono al lavoro da win e vado di corsa!

Inviato: mar 21 nov 2006, 17:10
da DarkSide
Controlla se nel conf di apache ci siano le righe
LoadModule php5_module modules/libphp5.so
e
AddType application/x-httpd-php .php
Se non ci sono aggiungile.
Inviato: mar 21 nov 2006, 18:03
da sir_alex
DarkSide ha scritto:Controlla se nel conf di apache ci siano le righe
LoadModule php5_module modules/libphp5.so
e
AddType application/x-httpd-php .php
Se non ci sono aggiungile.
Ora provo, però ho notato che queste righe ci sono dentro mod_php.conf sempre dentro /etc/apache2, non si dovrebbe invece richiamare questo file? Io ho provato ad includerlo nel file di apache con Include, ma non è cambiato gran chè...
[edit] provato, non è successo nulla di rilevante...
Inviato: mar 21 nov 2006, 18:22
da g4b0
che si dice nei log di apache?
Inviato: mar 21 nov 2006, 18:27
da dapuzz
riavviato apache dopo le modifiche al httpd.conf?
Inviato: mar 21 nov 2006, 18:34
da Sari
dapuzz ha scritto:riavviato apache dopo le modifiche al httpd.conf?
Devi farlo ogni volta che modifichi httpd.conf e simili.
Inviato: mar 21 nov 2006, 19:01
da sir_alex
Sari ha scritto:dapuzz ha scritto:riavviato apache dopo le modifiche al httpd.conf?
Devi farlo ogni volta che modifichi httpd.conf e simili.
Non sono ancora rimbecillito del tutto...
comunque il log dice
Codice: Seleziona tutto
[Tue Nov 21 19:01:13 2006] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Tue Nov 21 19:01:13 2006] [notice] Digest: generating secret for digest authentication ...
[Tue Nov 21 19:01:13 2006] [notice] Digest: done
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20060613/interbase.so' - libfbclient.so.1: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20060613/odbc.so' - libodbc.so.1: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20060613/pdo_firebird.so' - libfbclient.so.1: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20060613/pdo_odbc.so' - libodbc.so.1: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20060613/pdo_pgsql.so' - libpq.so.4: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20060613/pgsql.so' - libpq.so.4: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20060613/sqlite.so' - libsqlite.so.0: cannot open shared object file: No such file or directory in Unknown on line 0
[Tue Nov 21 19:01:14 2006] [crit] (70023)This function has not been implemented on this platform: DBD: driver for [DBDriver unset] not available
[Tue Nov 21 19:01:14 2006] [crit] (70023)This function has not been implemented on this platform: DBD: failed to initialise
[Tue Nov 21 19:01:14 2006] [crit] (70023)This function has not been implemented on this platform: DBD: driver for [DBDriver unset] not available
[Tue Nov 21 19:01:14 2006] [crit] (70023)This function has not been implemented on this platform: DBD: failed to initialise
[Tue Nov 21 19:01:14 2006] [crit] (70023)This function has not been implemented on this platform: DBD: driver for [DBDriver unset] not available
[Tue Nov 21 19:01:14 2006] [crit] (70023)This function has not been implemented on this platform: DBD: failed to initialise
[Tue Nov 21 19:01:14 2006] [crit] (70023)This function has not been implemented on this platform: DBD: driver for [DBDriver unset] not available
[Tue Nov 21 19:01:14 2006] [crit] (70023)This function has not been implemented on this platform: DBD: failed to initialise
[Tue Nov 21 19:01:14 2006] [crit] (70023)This function has not been implemented on this platform: DBD: driver for [DBDriver unset] not available
[Tue Nov 21 19:01:14 2006] [crit] (70023)This function has not been implemented on this platform: DBD: failed to initialise
[Tue Nov 21 19:01:14 2006] [notice] Apache/2.2.3 (Unix) mod_ssl/2.2.3 OpenSSL/0.9.8d DAV/2 PHP/5.2.0 configured -- resuming normal operations
[Tue Nov 21 19:01:25 2006] [notice] caught SIGTERM, shutting down
da quando lo avvio a quando lo termino con le 2 righe famose aggiunte a httpd.conf...
Inviato: mar 21 nov 2006, 19:32
da dapuzz
dal log si evince che php parte, anche se non trova qualche modulo che devi aggiustare nel php.ini, ma parte.
Hai provato a fare la classica pagina <?php phpinfo() ?>
Inviato: mar 21 nov 2006, 19:43
da sir_alex
No anche perchè non ho mai scritto 2 righe di php... era solo per usare phpmyadmin...
ora provo...
Funziona! Il file php.ini è quello originale del pacchetto di linuxpackages... lo posterei ma sono un casino di righe tra commenti e tutto...
Inviato: mar 21 nov 2006, 19:58
da dapuzz
del php.ini devi modificare solo la directory delle estensioni e il caricamento dei vari moduli (sempre se ti servono, altrimenti li commenti e ne puoi benissimo fare a meno)
Inviato: mar 21 nov 2006, 21:35
da chrix
il file da modificare è php.ini tuttavia il php va a cercare il file php.ini.new
per prima coas scegli una delle seguenti vie:
1
cd /etc/apache2 && cat php.ini > php.ini.new
2
cd /etc/apache2 && ln -sf php.ini php.ini.new
poi nel http.conf, ci sono vari include per aggiungere delle funzionalita, decommenta la riga relativa a http.conf.default.
e copia il contenuto di mod_php.conf dentro http.conf.default
verica la configurazione
/usr/sbin/apachectl -t
riavvia apache2
/etc/rc.d/rc.apache2 restart
e prova di nuovo
Inviato: mar 21 nov 2006, 21:41
da dapuzz
chrix ha scritto:il file da modificare è php.ini tuttavia il php va a cercare il file php.ini.new
Quale file va a cercare il php lo puoi vedere solo nella pagina con phpinfo()
chrix ha scritto:
poi nel http.conf, ci sono vari include per aggiungere delle funzionalita, decommenta la riga relativa a http.conf.default.
e copia il contenuto di mod_php.conf dentro http.conf.default
Gli include servono proprio a non fare delle brutte copie. Per questo basta decommentare le righe relative
Inviato: mar 21 nov 2006, 21:46
da chrix
apri kpackage e visualizza la lista dei file!!! vedrai proprio php.ini.new
il php.ini che vedi nel phpinfo() compare perché esiste un file php.ini in /etc/apache2/
per quanto riìguarda gli include non so per te ma a me non funzionano con php in particolare ho dovuto copiare il contenuto di mod_php.conf....
Inviato: mar 21 nov 2006, 21:51
da dapuzz
no, non mi sono spiegato

Il file di configurazione del php si può chiamare in qualunque modo e può stare in qualunque directory. Dal momento che non siamo stai noi a fare il pacchetto non c'è modo più semplice per sapere dove stia e come si chiami il file di configurazione del php se non chiedendolo direttamente tramite il risultato della funzione phpinfo().
In generale quando c'è un file di configurazione in un pacchetto si dà estenzione .new, poi in fase di installazione si controlla se i due file sono uguali allora il .new scompare altrimenti resta e ti avvisa che hai già un file di configurazione che è diverso da quello che hai appena installato (come avrai notato certamente /etc/inittab.new che ovviamente non viene caricato a favore del suo originale inittab)