Newsgroup: it.comp.www.php
Titolo: Ricompilare PHP con MySql su RedHat

Ciao a Tutti/Tutte,
ho un server web "Linux RedHat 6.2" con tanti siti in gestione tramite
VirtualHost.
Su questa macchina e' installato Apache 1.3.19, PHP 4.0.4pl1 e MySql.
Chi ha configurato la macchina ha fatto in modo che non si potesse usare i
comandi MySql nelle pagine PHP, credo per un motivo di sicurezza.
Naturalmente credo che lo facesse per ogni utente, quindi per ogni utente
sceglieva se permettergli di usare MySql oppure no. Infatti come
controprova se io provo a fare una semplice connessione ad un databse MySql
ricevo il fatidico errore:
"Fatal error: Call to undefined function: mysql_connect() in
/var/www/vhosts/eccetera".
Facendo la richiesta di <? phpinfo ?>  ottengo:
Configure Command './configure' '--prefix=/usr'
'--with-config-file-path=/etc' '--disable-debug' '--enable-pic'
'--enable-shared' '--enable-inline-optimization'
'--with-apxs=/usr/sbin/apxs' '--with-exec-dir=/usr/bin'
'--with-regex=system' '--with-gettext' '--with-gd' '--with-jpeg-dir=/usr'
'--with-png' '--with-zlib' '--with-db2' '--with-db3' '--with-gdbm'
'--enable-debugger' '--enable-magic-quotes' '--enable-safe-mode'
'--enable-sockets' '--enable-sysvsem' '--enable-sysvshm'
'--enable-track-vars' '--enable-yp' '--enable-ftp' '--enable-wddx'
'--without-mysql' '--without-oracle' '--without-oci8' '--with-xml'
Ora vorrei cambiare le cose e permettere ad un utente (magari non a tutti)
di poter usare MySql, ma non so come fare. Ho cercato tanto in rete e a
quanto pare l'unica soluzione e' quello di ricompilare PHP con supporto per
MySql.
Ci ho provato seguendo le sitruzioni di un'amico ma non ci sono riuscito.
:-(
Ho fatto una coppia di backup di php.ini
Ho scaricato le sorgenti di PHP e scompattato in /usr/local/src/php-4.1.2/
Ho digitato ./configure con le opzioni riportate dal phpinfo() eccetto
quelle dell'ultima riga:
--with-mysql al posto di without-mysql      (non  ricompilo apache)
./configure --prefix=/usr --with-config-file-path=/etc --disable-debug
--enable-pic --enable-shared --enable-inline-optimization
--with-apxs=/usr/sbin/apxs --with-exec-dir=/usr/bin
--with-regex=system --with-gettext --with-gd --with-jpeg-dir=/usr
--with-png --with-zlib --with-db2 --with-db3 --with-gdbm
--enable-debugger --enable-magic-quotes --enable-safe-mode
--enable-sockets --enable-sysvsem --enable-sysvshm
--enable-track-vars --enable-yp --enable-ftp --enable-wddx
--with-mysql --without-oracle --without-oci8 --with-xml
Ma mi da un'errore! :-(
Questo e' la parte interessante secondo me:
------------------------------
Configuring SAPI modules
checking for AOLserver support... no
checking for Apache module support via DSO through APXS...
Sorry, I was not able to successfully run APXS. Possible reasons:
1. Perl is not installed;
2. Apache was not compiled with DSO support (--enable-module=so);
3. 'apxs' is not in your path. Try to use --with-apxs=/path/to/apxs
The output of /usr/sbin/apxs follows
./configure: /usr/sbin/apxs: File o directory inesistente
configure: error: Aborting
------------------------------
1. Penso che Perl sia installato
2. Non so come verificare se Apache ha il supporto per DSO
3. Ho controllato ed effettivamente is /usr/sbin/ non c'e' nessun apxs.
Che fare ora?
Ringrazio preventivamente per l'aiuto pregandovi di perdonare la mia
ignoranza!
Grazie e ciao!
KASH

 ignoranza!
ciao
Alex

 --with-mysql --without-oracle --without-oci8 --with-xml
sui cd di distribuzione REDHAT 7.2 c'è un file che si chiama 
php-mysql-4.0.6-7.i386.rpm
prova a fare:
rpm -ivh php-manual-4.0.6-7.i386.rpm
e vedi se dopo magari ti funziona...
redhat fornisce molti moduli per php che però non installa se non glielo 
chiedi.
se dovessi mai ricompilare per aggiungere moduli che non ci sono (come il 
freetds per sybase o oracle, ecc) allora dovresti ricompilare anche Apache 
e PHP. non nel caso di mysql.
(ps: magari fosse facile salvarsi il php.ini per farsi una copia 
dell'installazione!)
ciao

l'errore è legato al fatto che non hai installato il pacchetto
apache-devel
installalo dal cd della distribuzione e poi ricompila php e vedrai che
funzionerà
-- 
----------------------------------------------------------------------------
Hosting professionale a prezzi USA ?
http://www.servitelit.com/hosting.shtml
Registrazione domini a 25,82 Euro ? 
http://domini.servitelit.com
----------------------------------------------------------------------------

 funzionerà
perché ricompilare se c'è il pacchetto APPOSITO php-mysql ??

io sono del parere che è sempre meglio compilare tutto SULLA PROPRIA
macchina piuttosto che usare binari precompilati,
comunque ciò esula da questo NG....


 comunque ciò esula da questo NG....
anch'io.
però devi spiegare alla gente che prima è NECESSARIO disinstallare gli rpm 
relativi a ciò che si vuole ricompilare.
se non si ha bene in testa la struttura dei paths della propria 
distribuzione, ricompilare posta solo allo spargimento di files 
duplicati/cadaveri.
quindi, per farla breve, se hai dei tools già fatti che ti permettono di 
raggiungere il tuo scopo, puoi usarli per non deviare il tuo "cammino", non 
passando per la compilazione non strettamente necessaria.
(???)
ciao

 funzionerà
E' probabile che non sia installato (come ho detto nella precedente post),
ma non so come rintracciare il pacchetto  apache_devel in quanto non ho
installato io RedHat sulla macchina e non ne so molto al riguardo.
Grazie e CIAO
KASH

 
http://212.177.180.90/~alex/install_php_on_apache.htm
Non ho trovato qui la soluzione al mio problema.    :-(
Non so che fare.  Magari vado a scaricarmi da 
apache.org
  il pacchetto
apache_devel  e aspetto vostre istruzioni.
Grazie e ciao!
KASH

 apache_devel  e aspetto vostre istruzioni.
se proprio non vuoi installare php-mysql (è tanto comodo!!)
scaricati i sorgenti di apache.
rimuovi il vecchio apache
compila il nuovo apache 
./configure --prefix=/dovevuoi --enable-module=rewrite 
--enable-shared=rewrite --enable-module=proxy --enable-shared=proxy 
--with-perl=/usr/bin/perl --enable-module=so
questo ti creerà ANCHE il famigerato apxs...
poi puoi compilare PHP senza problemi.
gli rpm di redhat sono strutturati in modo da essere di facile 
installazione ma sono meno flessibili e standard di quanti si pensi.
(vedi il fatto di non trovare il file apxs...)
ciao