Connexion à MySQL en PHP sous Linux - Programmation
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'.
Marsh Posté le 27-02-2002 à 09:58:33
Et comment fait-on pour recompiler PHP ? Faut-il réinstaller ?
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'
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'
Marsh Posté le 27-02-2002 à 10:56:18
Ben dis donc Sebi, arretes de bosser et fais un ptit Pikachu Volley avec nous!!
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?
Marsh Posté le 27-02-2002 à 11:03:54
Justement, je ne sais pas ce dont j'ai besoin pour installer PHP.
Marsh Posté le 27-02-2002 à 11:12:15
S'agirait-il des paquetage RPM suivants :
?????
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
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.
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
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.
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
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.
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!!!
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 ).
hihi
Marsh Posté le 28-02-2002 à 11:24:13
impulse a écrit a écrit :
|
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
Marsh Posté le 28-02-2002 à 11:25:22
impulse a écrit a écrit :
|
Ouais surtout que quand je suis arrivé dans cette boite, je devais installe un serveur Apache, PHP et MySQL (sur une Mandrake ) 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
Mais bon ca marche pas à tout les coup
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
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=$PATHtmp/pengaol
si t'as un pb va voir sur OS alternatifs -> y sont serviables les gens la-bas
hihi
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'
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é ?
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
Marsh Posté le 28-02-2002 à 14:47:29
scuse tu as raison, j'ai du passer ce passage là
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
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 ?
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
EDIT : ou -> rpm --help
[jfdsdjhfuetppo]--Message édité par impulse--[/jfdsdjhfuetppo]
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
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
Marsh Posté le 28-02-2002 à 17:08:53
J'ai réussi à désinstaller PHP, maintenant, comment le réinstaller ?
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 |
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.
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