Discussion:
Acces impossible aux fonctions MySQL dans PHP
(trop ancien pour répondre)
CoolAuMiers
2007-03-17 18:22:37 UTC
Permalink
Bonjour,
Suite à un sinistre, j'ai dû procéder à la réinstallation de mon serveur
Web.
Depuis cette réinstallation, je n'arrive plus à accéder aux fonctions MySQL
dans mon code PHP.
L'erreur systématiquement obtenue est du type "Fatal error: Call to
undefined function mysql_connect() in ...".
Un appel à phpinfo() montre que MySQL n'est pas activé (il n'y a pas de
section mysql).
Et pourtant, j'ai vérifié et contre-vérifié à peu près tout depuis 2 jours.

Mon environnement :
- Windows Serveur 2003 R2 + SP1 avec IIS 6.0
- PHP 5.2.1
- MySQL 5.0.27 community

J'utilise les DLL préconisées sur le site de MySQ (les 5.0.27 pour PHP
5.2.0).
Dans php.ini, section des extensions, j'ai essayé avec mysql et/ou mysqli,
ça ne change rien.
Lorsque j'accède aux bases de MySQL avec MySQL Query Browser ça fonctionne
parfaitement.
Bref je désespère...
Auriez-vous une piste ?
Merci.
Pascal.
Olivier Miakinen
2007-03-17 19:27:55 UTC
Permalink
Post by CoolAuMiers
[...]
Dans php.ini, section des extensions, j'ai essayé avec mysql et/ou mysqli,
ça ne change rien.
Tu as bien suivi toutes les indications de la doc ?
http://fr.php.net/manual/fr/ref.mysql.php

Attention, je te signale au passage que ton adresse antispam n'est pas
conforme. Il faudrait remplacer « invalid.fr » par « fr.invalid ».
CoolAuMiers
2007-03-17 21:32:32 UTC
Permalink
Post by Olivier Miakinen
Post by CoolAuMiers
[...]
Dans php.ini, section des extensions, j'ai essayé avec mysql et/ou mysqli,
ça ne change rien.
Tu as bien suivi toutes les indications de la doc ?
http://fr.php.net/manual/fr/ref.mysql.php
Attention, je te signale au passage que ton adresse antispam n'est pas
conforme. Il faudrait remplacer « invalid.fr » par « fr.invalid ».
Bonsoir, merci d'avoir répondu. J'ai corrigé l'adresse.

Oui, j'avais tenu compte de ces indications avant de poster mais j'ai quand
même relu et vérifié.

Le libmysql.dll fourni avec MySQL a été mis dans C:\Php.
C:\Php est le premier chemin qui figure dans le PATH de windows.
J'ai même essayé de le mettre dans C:\Windows ou dans C:\Windows\system32,
ça ne change rien.

Le paramètre extension_dir est bien réglé sur C:\Php\ext dans lequel se
trouvent mes dll de MySQL.

Je précise qu'avant le crash, j'avais MySQL 5.0.26 et PHP 5.2.0 et que ça
fonctionnait parfaitement.

2 jours que je cherche... le désespoir me gagne.

Pascal.
Olivier Miakinen
2007-03-19 13:59:53 UTC
Permalink
Post by CoolAuMiers
Le libmysql.dll fourni avec MySQL a été mis dans C:\Php.
C:\Php est le premier chemin qui figure dans le PATH de windows.
J'ai même essayé de le mettre dans C:\Windows ou dans C:\Windows\system32,
ça ne change rien.
Juste une minuscule idée, qui a toutes les chances de ne mener à rien.
Les répertoires s'appellent bien « Windows » et « Php » chez toi ? Parce
que chez moi ce serait plutôt « WINDOWS » et « php » respectivement. Je
sais bien que la casse des noms de fichiers est souvent sans importance
sur ce système d'exploitation, mais bon, tu ne pourras pas dire que tu
n'as pas tout essayé.
CoolAuMiers
2007-03-19 14:06:40 UTC
Permalink
Post by Olivier Miakinen
Post by CoolAuMiers
Le libmysql.dll fourni avec MySQL a été mis dans C:\Php.
C:\Php est le premier chemin qui figure dans le PATH de windows.
J'ai même essayé de le mettre dans C:\Windows ou dans
C:\Windows\system32,
ça ne change rien.
Juste une minuscule idée, qui a toutes les chances de ne mener à rien.
Les répertoires s'appellent bien « Windows » et « Php » chez toi ? Parce
que chez moi ce serait plutôt « WINDOWS » et « php » respectivement. Je
sais bien que la casse des noms de fichiers est souvent sans importance
sur ce système d'exploitation, mais bon, tu ne pourras pas dire que tu
n'as pas tout essayé.
C'était bien là le problème (3 posts que j'essaye d'envoyer pour expliquer
ça).
Merci.
Pascal.
Olivier Miakinen
2007-03-19 19:43:18 UTC
Permalink
Post by CoolAuMiers
Post by Olivier Miakinen
Juste une minuscule idée, qui a toutes les chances de ne mener à rien.
Les répertoires s'appellent bien « Windows » et « Php » chez toi ? Parce
que chez moi ce serait plutôt « WINDOWS » et « php » respectivement. Je
sais bien que la casse des noms de fichiers est souvent sans importance
sur ce système d'exploitation, mais bon, tu ne pourras pas dire que tu
n'as pas tout essayé.
C'était bien là le problème
Ah. C'est quand même très surprenant, mais d'un autre côté j'ai toujours
trouvé plus sage de faire comme si le système de fichiers était sensible
à la casse, même s'il ne l'est pas.
Post by CoolAuMiers
(3 posts que j'essaye d'envoyer pour expliquer ça).
C'est sûr qu'avec ton adresse invalide dans le From et rien en Reply-To,
si jamais tes articles ont été refusés tu n'as pas dû recevoir la raison
du refus. Je te signale en outre pour la seconde fois que ton adresse ne
respecte pas les bons usages, et que le domaine devrait se *terminer*
par .invalid au lieu de se terminer par .fr .
CoolAuMiers
2007-03-19 20:59:28 UTC
Permalink
Post by Olivier Miakinen
Post by CoolAuMiers
...
C'était bien là le problème
Ah. C'est quand même très surprenant, mais d'un autre côté j'ai toujours
trouvé plus sage de faire comme si le système de fichiers était sensible
à la casse, même s'il ne l'est pas.
Certes, moi aussi, mais comme j'ai tenté de l'expliquer dans un post qui
n'est pas passé, j'avais vérifié dans le php.ini que toutes mes références à
ce répertoire étaient bien écrites C:\Php.
Je suppose qu'il y a quelque part ailleurs un problème à ce niveau mais je
vois pas où.
En tout cas ça fonctionnait bien avec la version 5.2.0 de PHP.
Post by Olivier Miakinen
Post by CoolAuMiers
(3 posts que j'essaye d'envoyer pour expliquer ça).
C'est sûr qu'avec ton adresse invalide dans le From et rien en Reply-To,
si jamais tes articles ont été refusés tu n'as pas dû recevoir la raison
du refus. Je te signale en outre pour la seconde fois que ton adresse ne
respecte pas les bons usages, et que le domaine devrait se *terminer*
par .invalid au lieu de se terminer par .fr .
Pardon. J'avais corrigé au domicile mais pas au bureau. Je vais agir.

Merci pour l'aide.

Pascal.
Olivier Miakinen
2007-03-19 22:55:04 UTC
Permalink
Post by CoolAuMiers
Certes, moi aussi, mais comme j'ai tenté de l'expliquer dans un post qui
n'est pas passé, j'avais vérifié dans le php.ini que toutes mes références à
ce répertoire étaient bien écrites C:\Php.
Ah. Mais quel est le vrai nom du répertoire ? C:\php ou C:\Php ?
Post by CoolAuMiers
[...] le domaine devrait se *terminer*
par .invalid au lieu de se terminer par .fr .
Pardon. J'avais corrigé au domicile mais pas au bureau. Je vais agir.
C'est parfait pour le champ From. En revanche, le champ Reply-To ne
devrait jamais contenir autre chose qu'une adresse valide. Si tu ne veux
pas donner d'adresse valide du tout, ne remplis pas le champ Reply-To.
CoolAuMiers
2007-03-20 09:46:43 UTC
Permalink
Post by Olivier Miakinen
Post by CoolAuMiers
...
Ah. Mais quel est le vrai nom du répertoire ? C:\php ou C:\Php ?
Tout était réglé sur C:\Php (nom du répertoire et valeurs dans php.ini
J'ai tout remis sur C:\php et c'est reparti.
Post by Olivier Miakinen
Post by CoolAuMiers
[...] le domaine devrait se *terminer*
par .invalid au lieu de se terminer par .fr .
Pardon. J'avais corrigé au domicile mais pas au bureau. Je vais agir.
C'est parfait pour le champ From. En revanche, le champ Reply-To ne
devrait jamais contenir autre chose qu'une adresse valide. Si tu ne veux
pas donner d'adresse valide du tout, ne remplis pas le champ Reply-To.
Bon, je vais essayer encore...
Là du bureau ça doit être bon.
Merci.
Pascal.
Thief13
2007-03-20 22:29:17 UTC
Permalink
Post by Olivier Miakinen
C'est sûr qu'avec ton adresse invalide dans le From et rien en Reply-To,
si jamais tes articles ont été refusés tu n'as pas dû recevoir la raison
du refus. Je te signale en outre pour la seconde fois que ton adresse ne
respecte pas les bons usages, et que le domaine devrait se *terminer*
par .invalid au lieu de se terminer par .fr .
En attendant, avec une adresse qui fini par .invalid, mon thunderbird
m'enpeche d'envoyer le message une fois sur 5 assé aléatoirement. et
quand il se décide de me le bolquer, y'a plus moyen d'envoyer quoi que
se soit tant que je n'ai pas mis un domaine valid. apres, je ne sais pas
si ça vien de free ou de thunderbird, mais y'a rien à faire...
Olivier Miakinen
2007-03-20 23:10:52 UTC
Permalink
[ publication dans trois groupes, suivi sur un seul ]
Post by Thief13
En attendant, avec une adresse qui fini par .invalid, mon thunderbird
m'enpeche d'envoyer le message une fois sur 5 assé aléatoirement. et
quand il se décide de me le bolquer, y'a plus moyen d'envoyer quoi que
se soit tant que je n'ai pas mis un domaine valid. apres, je ne sais pas
si ça vien de free ou de thunderbird, mais y'a rien à faire...
Je ne pense pas que cela puisse venir de Thunderbird, alors je redirige
plutôt vers fr.reseaux.internet.fournisseurs mais avec quand même une
publication croisée sur fr.comp.usenet.lecteurs-de-news à tout hasard.

Pour résumer, tu dis que si tu mets une adresse en .invalid il arrive
que tu ne puisses pas publier (sur free avec Thunderbird), mais que
lorsque tu mets une adresse qui ne t'appartient pas (en nospam.com,
domaine déposé par quelqu'un de George Town) cela marche toujours.

Juste pour savoir : quand tu mets ton adresse en .invalid, est-elle au
moins syntaxiquement bien formée ? Par exemple, en rajoutant simplement
.invalid à l'adresse que tu empruntes sans son consentement au propri-
étaire de nospam.com, cela te donne ce comportement ?

Si oui, merci de le dire parce qu'il faudrait signaler aux gens de chez
free qu'ils incitent leurs abonnés à usurper des adresses qui ne leur
appartiennent pas et que c'est mal.©

thierry
2007-03-17 21:32:32 UTC
Permalink
bonjour,

tu as regardé dans les logs de lancement de IIS ?

à vue de nez je dirais qu'il te manque un truc du genre
extension=php_pdo.dll
dans ton php.ini
cette extension DOIT être chargé avant les dll mysql.
CoolAuMiers
2007-03-19 14:04:53 UTC
Permalink
Post by CoolAuMiers
Bonjour,
...
Bonjour,
J'ai trouvé. Le problème venait du nom du répertoire hébergeant PHP.
C'était C:\Php.
En le renommant C:\php ça refonctionne.
Je ne comprend pas, j'avais pourtant bien vérifié que dans le php.ini je
respectais la casse pour extension_dir mais il doit y avoir quelque part un
problème...
Merci pour votre aide.
Pascal.
Continuer la lecture sur narkive:
Loading...