Connexion à MySQL en PHP sous Linux

Connexion à MySQL en PHP sous Linux - Programmation

Marsh Posté le 27-02-2002 à 09:18:15    

Dans le cadre d'un projet en fin de deuxième année de BTS Informatique Industrielle, nous devons utilisé une base de données sous Linux gérée en PHP.  
J'ai essayé cette portion de code pour essai sous Windows avec succès :  
 
<?php  
 
$id_lien = mysql_connect("localhost","","" );  
 
$resultat = mysql_list_dbs($id_lien);  
$nom_ligne = mysql_num_rows($resultat);  
while($donnees_bd = mysql_fetch_row($resultat))  
{  
echo $donnees_bd[0]."<BR>";  
$resultat2 = mysql_list_tables($donnees_bd[0]);  
$nom_ligne2 = mysql_num_rows($resultat2);  
 
while($donnees_table = mysql_fetch_row($resultat2))  
echo "--".$donnees_table[0]."<BR>";  
 
echo "==>$nom_ligne2 table(s) dans " . $donnees_bd[0] . "<P>";  
 
}  
?>  
 
Malheureusement, sous Linux, il me dit que les fonctions  rattachées à mysql sont inexistantes.
Quelqu'un pourrait-il remédier à mon problème ?  
Je vous remercie d'avance

Reply

Marsh Posté le 27-02-2002 à 09:18:15   

Reply

Marsh Posté le 27-02-2002 à 09:34:00    

sebi2k a écrit a écrit :

Dans le cadre d'un projet en fin de deuxième année de BTS Informatique Industrielle, nous devons utilisé une base de données sous Linux gérée en PHP.  
J'ai essayé cette portion de code pour essai sous Windows avec succès :  
[...]
Malheureusement, sous Linux, il me dit que les fonctions  rattachées à mysql sont inexistantes.
Quelqu'un pourrait-il remédier à mon problème ?  
Je vous remercie d'avance  




 
Slt,
 
Ca ça doit vouloir dire que PHP n'a pas été compilé avec MySQL, si tu peux recompiler php, rajoute l'option '--with-mysql'.

Reply

Marsh Posté le 27-02-2002 à 09:58:33    

Et comment fait-on pour recompiler PHP ? Faut-il réinstaller ?

Reply

Marsh Posté le 27-02-2002 à 10:09:37    

sebi2k a écrit a écrit :

Et comment fait-on pour recompiler PHP ? Faut-il réinstaller ?  




 
attends deja test un truc :
dans un fichier test.php (par exemple) tape dedans ceci :
 
<?phpinfo()?>
 
Tu lances le fichier ensuite (via ton serveur web)
 
et tu me dis ce qu'il y a dans le premier tableau au niveau de 'Configure Command'

Reply

Marsh Posté le 27-02-2002 à 10:21:21    

Voilà la réponse de PHP Info pour "Configure Command" :  
 
 './configure' 'i386-redhat-linux' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--prefix=/usr' '--with-config-file-path=/etc' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-apxs=/usr/sbin/apxs' '--with-bz2' '--with-curl' '--with-db3' '--with-dom' '--with-exec-dir=/usr/bin' '--with-gd' '--with-gdbm' '--with-gettext' '--with-jpeg-dir=/usr' '--with-mm' '--with-openssl' '--with-png' '--with-regex=system' '--with-ttf' '--with-zlib' '--with-layout=GNU' '--enable-debugger' '--enable-ftp' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-track-vars' '--enable-yp' '--enable-wddx' '--without-mysql' '--without-unixODBC' '--without-oracle' '--without-oci8' '--with-pspell' '--with-xml'

Reply

Marsh Posté le 27-02-2002 à 10:56:18    

Ben dis donc Sebi, arretes de bosser et fais un ptit Pikachu Volley avec nous!!
 :love:  :love:  :love:

Reply

Marsh Posté le 27-02-2002 à 11:00:51    

sebi2k a écrit a écrit :

Voilà la réponse de PHP Info pour "Configure Command" :  
[...]




 
Bah voilà, si tu regardes bien, ya un argument '--without-mysql' , ce qui n'est pas ce que tu cherches :)
 
Donc je pense qu'il va falloir que tu recompiles PHP... as-tu les sources de PHP?

Reply

Marsh Posté le 27-02-2002 à 11:03:54    

Justement, je ne sais pas ce dont j'ai besoin pour installer PHP.

Reply

Marsh Posté le 27-02-2002 à 11:12:15    

S'agirait-il des paquetage RPM suivants :

  • zlib;
  • libpng;
  • libjpeg;
  • gd;
  • gd-level;
  • apache;
  • mod_php4;


?????

Reply

Marsh Posté le 27-02-2002 à 11:13:29    

sebi2k a écrit a écrit :

Justement, je ne sais pas ce dont j'ai besoin pour installer PHP.  




 
Bah va sur http://www.php.net
Download la dernière version de php pour linux (les sources !!!).
Décompresse le fichier .tar.gz ('tar -xvzf php-4.06.tar.gz';).
Tu vas dans le dossier où tu as décompresse le fichier.
Tu tapes :
./configure <options>
(Tu remplaces <options> par toutes les options que tu as récupéré avec phpinfo() en remplacant l'option '--without-mysql' par '--with-mysql';)
puis en tant que root tu tapes :
make
make install
 
Et maintenant essaies de voir si ça marche :)

Reply

Marsh Posté le 27-02-2002 à 11:13:29   

Reply

Marsh Posté le 27-02-2002 à 11:48:36    

Il y a des pb au niveau des librairies, en autre cURL et XML qu'il faut selon les messages d'erreurs, mettre à jour.

Reply

Marsh Posté le 27-02-2002 à 12:08:50    

sebi2k a écrit a écrit :

Il y a des pb au niveau des librairies, en autre cURL et XML qu'il faut selon les messages d'erreurs, mettre à jour.  




 
Essaie d'enlever l'option 'with-curl' et 'with-xml' ... je pense pas que tu en auras besoin tout de suite :)

Reply

Marsh Posté le 27-02-2002 à 18:02:53    

Le projet continue demain après-midi, je pourrais donc faire suite à ta réponse qu'à ce moment là. Merci pour l'aide précieuse que tu m'as déjà fournie, j'espère que tu pourras encore me conseiller demain.
Salutations.

Reply

Marsh Posté le 27-02-2002 à 18:07:54    

sebi2k a écrit a écrit :

Le projet continue demain après-midi, je pourrais donc faire suite à ta réponse qu'à ce moment là. Merci pour l'aide précieuse que tu m'as déjà fournie, j'espère que tu pourras encore me conseiller demain.
Salutations.  




 
Ouep normalement :)

Reply

Marsh Posté le 28-02-2002 à 10:10:02    

J'ai essayé dans un premier temps avec la toute dernière version de PHP à savoir la 4.1.1. Là, il me mettait les erreurs Curl et XML. J'ai pris ensuite la version 4.0.6 et ici seule l'erreur XML est apparu. Même en otant les paramètres XML et Curl, il continue à signaler la même erreur. Il faut donc je pense, mettre à jour ces librairies.

Reply

Marsh Posté le 28-02-2002 à 10:15:36    

Tentacle a écrit a écrit :

 
 
Bah va sur http://www.php.net
Download la dernière version de php pour linux (les sources !!!).
Décompresse le fichier .tar.gz ('tar -xvzf php-4.06.tar.gz';).
Tu vas dans le dossier où tu as décompresse le fichier.
Tu tapes :
./configure <options>
(Tu remplaces <options> par toutes les options que tu as récupéré avec phpinfo() en remplacant l'option '--without-mysql' par '--with-mysql';)
puis en tant que root tu tapes :
make
make install
 
Et maintenant essaies de voir si ça marche :)  




avec toi linux parait si simple!!! :ange:

Reply

Marsh Posté le 28-02-2002 à 10:49:03    

Citation :

avec toi linux parait si simple!!!


 
C'est pas bien compliqué Linux... faut juste avoir enormement de patience, ne pas avoir peur de lire de la doc et savoir chercher (de la doc :D ).
 
hihi :p

Reply

Marsh Posté le 28-02-2002 à 11:24:13    

impulse a écrit a écrit :

Citation :

avec toi linux parait si simple!!!


 
C'est pas bien compliqué Linux... faut juste avoir enormement de patience, ne pas avoir peur de lire de la doc et savoir chercher (de la doc :D ).
 
hihi :p  




hier j ai instaler la mandrake 8 et j ai meme pas reussi a instaler peng aol
il fallait juste mettre ./recompile
et il me dit que le fichier n existe pas alors qu en appuyant sur TAB il me prpose de mettre ./recompile ...
ca me rend fou ce genre de chose  :(

Reply

Marsh Posté le 28-02-2002 à 11:25:22    

impulse a écrit a écrit :

Citation :

avec toi linux parait si simple!!!


 
C'est pas bien compliqué Linux... faut juste avoir enormement de patience, ne pas avoir peur de lire de la doc et savoir chercher (de la doc :D ).
 
hihi :p  




 
Ouais surtout que quand je suis arrivé dans cette boite, je devais installe un serveur Apache, PHP et MySQL  (sur une Mandrake  :gun: ) et j'avais jamais fait de compilation (parce que évidemment avec les packages ça foirait)... donc effectivement j'ai lu les man, cherche des infos sur le net, etc... pour savoir dans quel ordre il fallait compiler tout ca :D
 
Mais bon ca marche pas à tout les coup :)

Reply

Marsh Posté le 28-02-2002 à 11:34:49    

Ben moi je suis en stage et c'est la fete : je dois faire une application web mais comme je suis le seul "developpeur" de l'equipe je dois tout faire : par exemple installer et configurer le serveur Apache pour tester mon appli, compiler et installer Perl avec les modules necessaires etc...
C'est cool car ça me permet de toucher a tout et de comprendre ce qui se passe. Le truc c'est que je n'ai fait de devel web et je dois tout apprendre (Html, Perl, Javascript...).
 
J'ai installé Linux apres avoir commencé mon stage car ici je bosse sous ux (hp-ux) et c'est top.
 
hihi :D

Reply

Marsh Posté le 28-02-2002 à 11:38:22    

veryfree > faut mettre le rep qui contient ton ./recompile dans le PATH.
tu tapes ça et c'est bon :
 
export PATH=$PATH:/tmp/pengaol
 
si t'as un pb va voir sur OS alternatifs -> y sont serviables les gens la-bas :p
 
hihi :D

Reply

Marsh Posté le 28-02-2002 à 12:29:18    

Sinon pour l'install de php, essaie alors avec ces paramètres :
./configure '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--prefix=/usr' '--with-config-file-path=/etc' '--with-mysql' '--with-apache' '--enable-track-vars'

Reply

Marsh Posté le 28-02-2002 à 13:36:18    

pour la commande de compilation, il vaut mieux utiliser ces paramètres et remplacer uniquement le --without-mysql par --with-mysql=root/to/mysql
 
sinon, mysql est installé ?

Reply

Marsh Posté le 28-02-2002 à 13:59:08    

ethernal a écrit a écrit :

pour la commande de compilation, il vaut mieux utiliser ces paramètres et remplacer uniquement le --without-mysql par --with-mysql=root/to/mysql
 
sinon, mysql est installé ?  




 
bah je lui ai deja dit que remplace, mais il a un probleme avec xml et curl

Reply

Marsh Posté le 28-02-2002 à 14:47:29    

scuse tu as raison, j'ai du passer ce passage là :D
 
bha il a qu'a remplacer --with-curl par --without-curl et --with-xml par --without-xml
 
mettre les librairies à jour ou les installer est encore mieux remarque ;)
 
mais bon moi je dis ça pour qu'il garde une architecture standard par rapport à celle qu'il a déjà.
 
sinon si ton php actel provient d'un rpm je te conseille vivement de le supprimer (rpm -e php) avant de le réinstaller, histoire d'éviter les embrouilles ;)

Reply

Marsh Posté le 28-02-2002 à 15:36:07    

je te conseille vivement de le supprimer (rpm -e php) avant de le réinstaller, histoire d'éviter les embrouilles
 
D'après l'erreur, il me dit de réinstaller libxml 2.2.7. Quel est la commande pour installer ce paquage ? Ou bien, pourrais-tu me donner les commandes exactes pour supprimer correctement les RPM ?

Reply

Marsh Posté le 28-02-2002 à 15:47:55    

Citation :

D'après l'erreur, il me dit de réinstaller libxml 2.2.7. Quel est la commande pour installer ce paquage ? Ou bien, pourrais-tu me donner les commandes exactes pour supprimer correctement les RPM ?


 
man rpm
 
hihi :p
 
EDIT : ou -> rpm --help

 

[jfdsdjhfuetppo]--Message édité par impulse--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 28-02-2002 à 15:51:29    

Mais quel package faut-il déinstaller ?

Reply

Marsh Posté le 28-02-2002 à 15:56:29    

pour trouver les rpm ->
http://fr.rpmfind.net
 
pour installer/desinstaller les rpm ->
rpm --help
 
et ethernal t'as conseillé de virer php en faisant ->
rpm -e php
 
qu'est ce qui te manque ?
 
hihi :p

Reply

Marsh Posté le 28-02-2002 à 16:05:52    

Error : removing these packages would break dependencies :  
php 4.0.6-7 is needed by php-imap-4.0.6-7
php 4.0.6-7 is needed by php-ldap-4.0.6-7
php 4.0.6-7 is needed by php-pqsql-4.0.6-7

Reply

Marsh Posté le 28-02-2002 à 17:08:53    

J'ai réussi à désinstaller PHP, maintenant, comment le réinstaller ?

Reply

Marsh Posté le 28-02-2002 à 17:22:35    

impulse a écrit a écrit :

pour trouver les rpm ->
http://fr.rpmfind.net
 
pour installer/desinstaller les rpm ->
rpm --help
 
et ethernal t'as conseillé de virer php en faisant ->
rpm -e php
 
qu'est ce qui te manque ?
 
hihi :p  




 
Ce qui m'a fait chier avec les packages, c'est qu'ils ne prenaient pas en compte mysql :/ c pour ca que j'ai du compiler à la main.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed