PHP + MySQL : Comment les associer ?

Résolu/Fermé
bec56 Messages postés 44 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 5 avril 2011 - 6 déc. 2008 à 16:54
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 13 déc. 2008 à 10:08
Bonjour,
Je suis actuellement en BTS Informatique et choisis un projet qu'est le suivant :
Installer Claroline (C'est une plate forme collaborative une sorte d'intranet) et qu'on puisse accéder depuis un poste client du réseau.

Donc pour se faire j'ai besoin d'un server DNS (afin de pouvoir taper le nom de la machine dans le navigateur internet du client afin d'accèder au site).
Un server Web (Qui intègrera Apache, Php, MySQL et PhpMyAdmin)

Ces services (DNS+Web) seront sur la une seul et même machine.

_____________

Donc au niveau de l'installation de DNS, cela me porte aucun problème ça fonctionne nikel.
_____________

C'est au niveau du serveur Web que j'ai un peu plus de difficulté.
En effet je commence par installer Apache2, ensuite dans mon navigateur je tape http://localhost, et là s'affiche It Works !; donc Apache c'est Ok.

_____________

Php, pareille impécable

_____________

Installation de MySQL, pas de problème
_____________

Mais c'est lorsque je veux lancer ma plateforme qu'on me signale que je n'ai pas MySQL, alors qu'il est bien présent.
Je pense donc que Php et MySQL ne communiquent pas.

Le problème est le suivant : Comment faire communiquer Php et MySQL, sachant que j'ai copié libmysql.dll présent dans php dans le dossier C:/Windows/System32/ ; et que j'ai ajouté la ligne extension=php_mysql.dll dans mon php.ini.

Merci pour vos réponses à venir:)

PS:Je suis sous Windows 2003 Server
A voir également:

24 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
6 déc. 2008 à 19:16
Est ce que mysql est démaré ?
0
bec56 Messages postés 44 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 5 avril 2011 3
7 déc. 2008 à 15:11
Oui, oui il est bien démarré. Enfin il me semble...
Comment le démarrer sinon ? ^^
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 déc. 2008 à 15:52
Pour voir si il est démarré dans la console tu tapes mysql -V

ou vas voir ce site:

https://www.sqlfacile.com/
0
bec56 Messages postés 44 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 5 avril 2011 3
8 déc. 2008 à 16:23
Bonjour,
le problème est toujours présent. Lorsque je lance ma plate-forme Claroline afin de l'installer il me met le message suivant :
*Checking PHP extensions
Warning !mysql is missing.

Et Claroline ne peut donc pas créer sa base de données.

Pour moi c'est Php qui ne communique pas avec MySQL.

Si quelqu'un à la réponse, je serais tout ouïe.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
8 déc. 2008 à 18:43
As tu installé php-mysql.xxxxxx

sur ton serveur ?
0
bec56 Messages postés 44 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 5 avril 2011 3
8 déc. 2008 à 23:53
En effet j'ai recherché ce package sur le net mais impossible de le trouver.

A quoi sert-il ?

Si tu as un lien ou même ce package, je suis bien évidemment preneur ! :)

En tous cas, merci Alain de m'aider !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
9 déc. 2008 à 04:19
Le plus simple aurai peut-être été de passer par un logiciel tel que EasyPHP qui ressemble Apache, PHP et MySQL directement et près à l'emploi.
0
Ou WAMP (c'est encore mieux)

Téléchargement: https://www.wampserver.com/
0
bec56 Messages postés 44 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 5 avril 2011 3
9 déc. 2008 à 20:50
Oui mais bon je suis en BTS Informatique et mon projet est de mettre en place un serveur Web.

Installer via EasyPhp où WAMP me serais trop facile ^^

Donc, je suis toujours à la recherche d'une réponse ;)
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
9 déc. 2008 à 21:52
bonsoir je me permet d'intervenir ,il faut que tu modifie ton php.ini
tu a une ligne qui indique le repertoire ou sont charge les extensions

Directory in which the loadable extensions (modules) reside.
;repertoire ou pkacer les dll appelées par php
extension_dir = "ton repertoire/php/ext"

il faut donc modifier le chemin par defaut pour le faire pointer sur ce repertoire et surtout pas les copier dans system32, la tu travaille à l'arrache lol!!
rajoute egalement le repertoire php dans ton path

de meme regarde dans le fic chier de conf d'apache si tu a cette ligne
LoadModule php5_module "ton repertoire/php/php5apache2.dll"
si tu l'a pas rajoute la et copie egalemement la dll mysql dans le repertoire bin d'apache

redemarre ton serveur et consulte les logs d'erreurs d'apache pour voir ce qui coince.


surtout surveille bien tes logs ,j'ai installé mon serveur comme toi,bon c'est la galère au départ ,mais il fonctionne nickel ,easy et wamp c'est la solution de facilité,quand t'a un pb c'est pas facile de trouver la soluce.
0
Installer via EasyPhp où WAMP me serais trop facile ^^


dans ce cas là il faut pas installer non plus les 3 trucs sous Windows .... mais de l'installer sur un vrais linux ;)
0
car le mettre sur windows tu peu rien faire, alors que un linux oui


j'ai jamais reussi a installer les 3 trucs et les faires marché sur windows
par contre avec linux aucun probleme (c'est pas natuel de faire un serveur avec windows car c'est les linux qui sont les meilleurs pour faire un serveur)

si j'veux installer un serveur irc sur windows c'est possible mais c'est trop la galere , alors que avec un linux sa marche directement sans aucun probleme


les serveur avec les windows peuvent bugué ou etre floodé par exemple par udp flood et donc le serveur sayais il est coupé et le site marche plus
alors que avec un linux il y a aucun probleme
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > Mickael
9 déc. 2008 à 23:26
as tu regardé ce site:

http://www.apachefrance.com/Articles/4/
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
9 déc. 2008 à 22:29
la les gars je suis pas entièrement d'accord avec vous.
sous win ,apache php mysql phpmyadmin fonctionnent sans probleme ,encore faiut il plonger les mains dans le cambouis.
j'ai un serveur que j'heberge pour mon site sous windows c'est nickel.
C'est evident pour pour des applis pros vaut mieux avoir une base linux ,(au boulot je suis sous linux) ,mais pour un site perso windows convient parfaitement ,une fois qu'on a viré toutes les "merdouilles" inutiles de windows et pris le temps de le configurer c'est amplement suffisant.

bon d'accord apache etant conçu sur une base linux il est clair que l'install et la config est plus aisée,mais on a rien sans rien.
Est ce que ça vaut la peine de virer win pour linux dans ce cas la...????
0
arthezius Messages postés 3538 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 11 septembre 2016 475
9 déc. 2008 à 22:40
La majorité des serveurs Web sont sous Linux. C'est pas pour rien.
L'installer sous windows sans passer par EasyPHP ou un autre, c'est un peux se prendre la tête pour rien, non?
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
10 déc. 2008 à 05:49
prise de tete ? oui un peu je te l'accorde, mais pas un casse tête . J'en reviens à l'usage fait du serveur.

L'utilisation de linux est quand même "legerement" différente de celle de windows ,qui demande quelques connaissances spécifiques.
Dans ce cas précis notre ami ayant deja des soucis d'install d'un serveur , je pense pas que de lui faire installer linux en remplacement de win soit une bonne idée.
D'autant plus que l'install d'un serveur apache dans un environnement windows n'est quand meme pas si compliquée que ça ,faut pas nonplus exagérer. ;-)
A partir du moment ou le bon package est choisii le principe reste le meme .
Quand au risque de hack du serveur ,il est tout aussi reel sur un serveur linux mal configuré.

L'install du serveur n'est rien ,ce qui est plus "chiant" c'est justement le parametrage ,et c'est une opération incontournable que ce soit linux ou windows ,d'ou l'interet de consulter les différents logs pour justement arriver à obtenir un bon compromis efficacité/sureté/performance
0
bec56 Messages postés 44 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 5 avril 2011 3
10 déc. 2008 à 09:23
Bonjour,
Merci pour votre participation à mon problème.

En effet je ne veux pas que ce soit trop simple, mais ni trop dur non plus ^^

C'est pourquoi j'ai choisis l'interface Windows.

Donc les petites manipes que vous me dites, je les ai faites, sans résultat...
Je rappelle que ce n'est pas Apache en lui même qui plante mais bien Php+Mysql (Revenons au sources du problème ;) )

Apache+Php marche très bien, MySQL seul fonctionne, PHP+MySQL coince.

J'ai attendu l'installation d'un package PHP-MYSQL, en vain.

Merci de vos réponse =)
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
10 déc. 2008 à 09:59
Bonjour,

a essayer:

va dans php.ini, tu cherche la ligne mysql.dll vérifie si elle est en commentaire (précédée d'un ; ou d'n #) alors le sigle qui est devant et redémarre apache
0
bec56 Messages postés 44 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 5 avril 2011 3
10 déc. 2008 à 16:27
Merci Alain, mais je l'avais déjà fait en effet.

Mais tu avais parlé de PHP-MYSQL.xxxxxx tu as ça en stock ? ^^
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
10 déc. 2008 à 16:56
Le pb c'est que moi j'utilise une plateforme Linux (Mandriva) pour mon serveur de développement

donc pour installer un package en linux il suffit de faire la commande urpmi php-mysql-5.1.6.....

et ça se débrouille à aller chercher le package dans un des medias (CD ou site distant déclaré) et ça l'installe.

En windows je ne connais pas j'ai installé EasyPhp sur mon PC pour des petits test en local et tout est installé en bloc
automatiquement
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
10 déc. 2008 à 17:37
Autre question si tu creer un petit fichier:

test_php.php
<?php
phpinfo();

?>



que tu le pose sur ton serveur qd tu l'appeles depuis un navigateur il va te sortir tte la config de php

pour voir la partie concernant mysql
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
10 déc. 2008 à 19:50
bonsoir ,bonsoir alain comment va tu ?
ouvre le port 3306 (port par defaut de mysql)
Sinon toutes les dll de php mysql sont dans le package apche et php suffit juste de les deccommenter et d'indiquer le bon repertoire dans les fichiers de config
0
bec56 Messages postés 44 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 5 avril 2011 3
10 déc. 2008 à 21:11
Bonjour,
En ce qu'il s'agit de Phpinfo j'ai pas grand chose niveau SQL :
sql.safe_mode Off Off

Sinon Lewis, quelle est l'intérêt d'ouvrir un port sachant que je suis en locale?
Quand tu parles de port, tu parles de Routeur ? Mais là, je n'en utilise pas.

Merci :)
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
10 déc. 2008 à 21:58
Bonsoir,

salut à lewis34

sinon concernat le phpinfo, moi dans le mien j'ai cette partie:

mysql
MySQL Support	enabled
Active Persistent Links 	0 
Active Links 	0 
Client API version 	5.0.24a 
MYSQL_MODULE_TYPE 	no value 
MYSQL_SOCKET 	/var/lib/mysql/mysql.sock 
MYSQL_INCLUDE 	no value 
MYSQL_LIBS 	no value 


et dans EasyPhp du PC
j'ai sous C:\Program Files\EasyPHP 2.0b1\mysql\ un fichier my.ini

qui contient en autre ces lignes:

[client]
#password	= your_password
port		= 3306
socket		= /tmp/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
datadir = C:/Program Files/EasyPHP 2.0b1/mysql/data
basedir = C:/Program Files/EasyPHP 2.0b1/mysql
bind-address = 127.0.0.1
#Uncomment for use on USB key
#skip-innodb
port		= 3306
socket		= /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M



et dans le php.ini j'ai ces lignes:

[MySQL]
; Allow or prevent persistent links.
mysql.allow_persistent = On

; Maximum number of persistent links.  -1 means no limit.
mysql.max_persistent = -1

; Maximum number of links (persistent + non-persistent).  -1 means no limit.
mysql.max_links = -1

; Default port number for mysql_connect().  If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
; at MYSQL_PORT.
mysql.default_port =

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket =

; Default host for mysql_connect() (doesn't apply in safe mode).
mysql.default_host =

; Default user for mysql_connect() (doesn't apply in safe mode).
mysql.default_user =

; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password!  And of course, any users with read access to this
; file will be able to reveal the password as well.
mysql.default_password =

; Maximum time (in seconds) for connect timeout. -1 means no limit
mysql.connect_timeout = 60

; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Errors will be displayed.
mysql.trace_mode = Off

[MySQLi]

; Maximum number of links.  -1 means no limit.
mysqli.max_links = -1

; Default port number for mysqli_connect().  If unset, mysqli_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
; at MYSQL_PORT.
mysqli.default_port = 3306

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysqli.default_socket =

; Default host for mysql_connect() (doesn't apply in safe mode).
mysqli.default_host =

; Default user for mysql_connect() (doesn't apply in safe mode).
mysqli.default_user =

; Default password for mysqli_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
; and reveal this password!  And of course, any users with read access to this
; file will be able to reveal the password as well.
mysqli.default_pw =

; Allow or prevent reconnect
mysqli.reconnect = Off


en espérant que tu pourra en tirer qq chose
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
10 déc. 2008 à 21:57
non je parle de ton pare feu.
Comme je te le disias precedemment toutes les librairies sont dans le package d'apache et php,tout y est,ce n'est qu'une question de config

dans httpd.conf il faut que tu ai cette ligne
# pour pointer sur le bon phpini
PHPIniDir "ton chemin/php/"

ensuite celle ci
LoadModule php5_module "ton repertoire/php/php5apache2.dll" et celle la
AddType application/x-httpd-php .php .php5 .html .phtml

dans php.ini
extension=php_mysql.dll (elle y est d'origine mais commentée , vire le ; devant)

dans la partie mysql tu dois avoir ça
; Allow or prevent persistent links.
mysql.allow_persistent = On

; Maximum number of persistent links.  -1 means no limit.
mysql.max_persistent = -1

; Maximum number of links (persistent + non-persistent).  -1 means no limit.
mysql.max_links = -1

; Default port number for mysql_connect().  If unset, mysql_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
; at MYSQL_PORT.
mysql.default_port =

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket =

; Default host for mysql_connect() (doesn't apply in safe mode).
mysql.default_host =''

; Default user for mysql_connect() (doesn't apply in safe mode).
mysql.default_user =

; Default password for mysql_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password")
; and reveal this password!  And of course, any users with read access to this
; file will be able to reveal the password as well.
mysql.default_password =

; Maximum time (in seconds) for connect timeout. -1 means no limit
mysql.connect_timeout = 60

; Trace mode. When trace_mode is active (=On), warnings for table/index scans and
; SQL-Errors will be displayed.
mysql.trace_mode = Off


et dans ton my.ini

# The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="ton repertoire/MySQL/MySQL Server 5.0/"

#Path to the database root
datadir="ton repertoire /MySQL/MySQL Server 5.0/Data/"
# la c'est l'endroit ou tu a tes BD


si il te manque des DLL dis le moi je te les filerais

@+
0
bec56 Messages postés 44 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 5 avril 2011 3
11 déc. 2008 à 22:22
Bonsoir,
Tous cela est semblable à mes fichiers. :/

Je pense que c'est un tout petit truc qui merde, un rien qui me prend la tête énormément...
Sachant que j'dois faire ça pour lundi =(

Quelqu'un aurais l'amabilité de tester chez lui de créer un serveur web ?
Avec Apacahe2.2.9, Php5.2.6 et MySQL5.0.67 sur du Windows (Voir sur une machine virtuelle), ça prend 5 minutes.
Et puis si quelqu'un trouve la fameuse solution ... =P

En attendant, Merci de vous intéresser à mon problème.
0
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 352
12 déc. 2008 à 06:37
Je te confirme que ça fonctionne ,j'en ai un que j'heberge moimeme pour mon site.

Pour nous aidez dis nous ce qu'il y a dans le log d'error apache et dans le journal des evenements de windows (rubrique applications)

Par contre je sais qu'avec la version 2.2 d'apache il peut y avoir des conflits de versions est tu sur que ta version php et mysql sont les bonnes bonnes ?

essaye avec la version 2.0

je t'ai tout mis dans un pack http://milsodor.no-ip.org/ccm/
0
bec56 Messages postés 44 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 5 avril 2011 3
12 déc. 2008 à 14:57
Ok Merci, je teste avec tes logiciels et je te décris mes logs après ;)

Merci =)
0
bec56 Messages postés 44 Date d'inscription lundi 20 octobre 2008 Statut Membre Dernière intervention 5 avril 2011 3
12 déc. 2008 à 17:01
Bon j'ai testé avec tes logiciels Lewis, résultat : Même problème ... ='(

Et au niveau de l'observateur d'évènements, il n'y a aucun problème. Je m'arrache les cheveux là XD

Donc voilà il me manque un petit quelque chose...

En attendant, merci =)
0