OVH Cloud OVH Cloud

Configuration PHP et Firebird (interbase) sous RH Linux 9.0

2 réponses
Avatar
Jean-Philippe MINETTI
Salut à tous,

J'ai installé le serveur de base de données Firebird 1.5.1 placé dans
/opt/firebird.

Mais avant cela, PHP 4.2.2-17 et Apache 2.0.40-21 étaient déjà installés
(installés lors de mon installation de ma Red Hat 9.0).

Dans diverses documentations sur le net, il est mensionné qu'il faut
recompiler PHP avec l'option "--with-interbase" pour que Firebird soit
pris en charge par PHP.

En vue d'une recompilation de PHP, j'ai installé ses sources dans
/usr/src/redhat/SOURCES/php-4.2.2.

Ma 1ère question: Y'a t-il un autre moyen que de passer par une
compilation. N'y a t'il pas quelque part un RPM prenant en charge Firebird ?

Ma 2ème question: Si je suis obligé de recompiler PHP, j'aimerais savoir
avec quels options PHP a été compilé dans ma version actuelle (RPM de
RedHat 9.0) pour ne rajouter que l'option "--with-interbase" (sans
retirer des fonctionalités).

Ma 3ème question: Y'a t'il une procédure différente dans le cas d'une
recompilation d'un module installé par RPM.

Ma 4ème question: Faut-il faire quelque chose pour Apache ? Actuellement
Apache et PHP fonctionnent correctement.

Merçi à ceux et à celles qui voudront bien m'aider.

Cordialement,
Jean-Philippe MINETTI

2 réponses

Avatar
Pascal (Collectours)
Jean-Philippe MINETTI wrote:

Salut à tous,
[...]

Bonjour,

Ma 1ère question: Y'a t-il un autre moyen que de passer par une
compilation. N'y a t'il pas quelque part un RPM prenant en charge Firebird
?


Il est préférable de garder les rpms crées pour votre distribution.

Ma 2ème question: Si je suis obligé de recompiler PHP, j'aimerais savoir
avec quels options PHP a été compilé dans ma version actuelle (RPM de
RedHat 9.0) pour ne rajouter que l'option "--with-interbase" (sans
retirer des fonctionalités).
Peut-être que c'est déjà le cas et que le support de firebird est déjà

activé ?
Pour connaitre les options avec lequelles php a été compilé ,
faites un <? phpinfo();?>, c'est marqué en haut.
Pour votre distrib, procurez vous le rpm source (soit sur les cds de votre
distrib repertoire SRPMS, soit en faisant une recherche "php" dans
http://rpmfind.net, vous trouverez alors le rpm .src.rpm correspondant à la
redhat 9.
Téléchargez le dans /usr/src/redhat/SRPMS
puis :
1) rpm -ivh php-version-....rpm.src.rpm (cela n'installera rien et se
contentera de déplier différentes parties du rpm dans /usr/src/redhat)
2) regardez le fichier php-version-....spec dans /usr/src/redhat/SPECS
Vous y découvrerez quelque part un ./configure avec les options qui vont
bien.
3) ajoutez votre option --with-interbase
3bis) * Dans l'absolu il faudrait ajouter le controle des dépendances du
package interbase dans le fichier spec (ajouter le nom de votre package
interbase dans les %requires)

4) Afin de tracabilité changez la %release pour y ajouter "custom" au bout
du numéro , ou qqchose qui vous permette de savoir pour plus tard que c'est
un rpm "maison"
4) Faites rpmbuild -ba php-version-....spec
Cela construira un nouveau rpm source qui s'appellera
php-version...custom.rpm et un binaire également.
4bis) si il manque des packages -devel pour construire php, rpmbuild le
signalera, il faudra les installer (il aurait fallu de toutes façons
les installer , même pour compiler à partir d'un tar.gz aussi)
5) Installez le binaire constuit qui doit se trouvrer
dans /usr/src/redhat/RPMS/i386 (sur pc)
rpm -Uvh php-version-....custom.i386.rpm

Ma 3ème question: Y'a t'il une procédure différente dans le cas d'une
recompilation d'un module installé par RPM.


CF.ci dessus

Ma 4ème question: Faut-il faire quelque chose pour Apache ? Actuellement
Apache et PHP fonctionnent correctement.


Pour Apache, Normalement non - quant à php, votre nouvelle version viendra
remplacer l'ancienne. Si quelque chose ne va pas, vous pouvez toujours
ré-installer le package d'origine
P.S Evidémment, il faut redémarrer apache (service httpd stop/start)
P.S Essayez de résister à la tentation de fabriquer php dans /usr/local à
partir du tar.gz/bz2 - c'est + facile au début, mais vous perdez en
traçabilité.
Cdlt
Pascal

Avatar
Jean-Philippe MINETTI
Salut Pascal,

Pascal (Collectours) a écrit:
Pour votre distrib, procurez vous le rpm source (soit sur les cds de votre
distrib repertoire SRPMS, soit en faisant une recherche "php" dans
http://rpmfind.net, vous trouverez alors le rpm .src.rpm correspondant à la
redhat 9.


Après avoir recherché sur le net avec tenacité (pour pas recompiler mon
PHP), j'ai réussi à trouver le RPM correspondant à la redhat 9 et à ma
version actuelle de mon PHP (4.2.2-17.2) sur le site
http://tech.firebird.gr.jp/firebird/index.php?firebird_xsitef. C'est
le seul site que j'ai trouvé ! Ce RPM n'est même pas présent sur
http://rpmfind.net !!!

Par contre une fois le RPM installé, ça marche impecable. Pour
l'installer, il l'a fallu quand même que je passes l'option --nodeps,
car il ne trouvait pas un fichier de Firebird qui était bien présent !!!

Bien que j'ai réussi à éviter la recompilation, je te remerçie pour ton
aide.

Cordialement,
Jean-Philippe MINETTI