Page 1 sur 1
Chargement des librairies php par apache
Posté : 16 juil. 2005, 20:59
par Brown
Bonjour,
Je viens d'installer un serveur apache version 1.3 et php 5, et j'ai mis ceci dans mon fichier php.ini :
extension_dir = "C:/php/ext/"
(j'ai aussi essayé avec extension_dir = "C:\php\ext\" mais cela n'a rien changé),
puis j'ai enlevé les points virgules à certaines des extensions pour les charger :
extension=php_imap.dll
extension=php_mysql.dll
Lors du lancement d'apache, apache ne trouve pas les bibliothèques, et cela l'empeche ultérieurment le fonctionnement même du serveur.
Le message affiché dans erreur.log est :
PHP Warning: PHP Startup: Unable to load dynamic library 'c:\php\ext\php_imap.dll' - Un périphérique attaché au système ne fonctionne pas correctement. in Unknown on line 0
de même :
PHP Warning: PHP Startup: Unable to load dynamic library 'c:\php\ext\php_mysql.dll' - Une des bibliothèques nécessaires à l'exécution de cette application n'a pu être trouvée. in Unknown on line 0
J'ai pourtant vérifié, et les fichiers appellés se trouvent bien dans le répertoire correspondant, même la casse des noms de répertoire est correcte, et ces fichiers ont été installé dans le repertoire php/ext lorsque j'ai dézipé php5
Merci d'avance si quelqu'un peut solutionner mon problème

Posté : 16 juil. 2005, 21:28
par rami
Es-tu sur de pointer sur le bon php.ini? (c'est a dire as -tu defini PHPIniDir dans httpd.conf, ou bien rajouter le chemin vers PHP dans la variable d'enviroment PATH?)
Posté : 16 juil. 2005, 21:47
par Brown
Il me semble que c'est le bon php.ini qui est pointé
En effet, lorsque j'enleve le chargement des livrairies qui semble problématique, et que j'execute une page de test avec pour seule fonciton phpinfo(), je vois alors apparaitre dans le tableau :
Configuration File (php.ini) Path C:\php\php.ini
J'ai indiqué cela à Apache en insérant dans le fichier autoexec.bat la ligne :
set PHPRC=C:\php
Après un tour sur
http://httpd.apache.org/docs/ je n'ai pas réussi à trouver d'info sur PHPIniDir.
En cherchant sur le manuel "officiel" fourni sur les sites de Nexen.net et php.net, j'ai trouvé ceci :
Si vous utilisez Apache 2, l'option la plus simple est d'utiliser la directive PHPIniDir (lisez la page traitant de l'installation de PHP avec Apache 2) sinon, la meilleure option est de définir la variable d'environnement PHPRC. Ce processus est expliqué dans cette entrée de la FAQ.
Je crois en conclure donc que PHPIniDir ne me concerne pas car, ayant WIN98, je n'ai pas installé Apache 2 mais Apache 1.3 (j'ai lu qqpart que Apache 2 et Win98 ne faisaient pas bon ménage...)
Conclusion, je crois que retour à la case départ

Posté : 16 juil. 2005, 22:03
par Brown
Une chose étrange tout de même :
dans la page affiché via la fonction phpinfo(), je vois ceci :
PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\PROGRAM FILES\ACTIVESTATE KOMODO 3.1\
Comment se fait-il que la PATH soit différent de celui que j'ai initialisé ? COmment puis-je l'initiliser correctement ?
(j'ai essayé avec PHPIniDir mais j'ai une erreur lors de l'execution d'Apache : il me dit ne pas reconnaitre PHPIniDir)
Posté : 16 juil. 2005, 23:39
par rami
Tu as essayé PHPINIDIR="C:/php" ?
Posté : 17 juil. 2005, 00:33
par Brown
Voilà ce à quoi j'ai droit quand j'utilise PHPINIDIR ou PHPIniDir dans le fichier httpd.conf :

Posté : 17 juil. 2005, 13:50
par rami
Autant pour moi, la syntaxe c'est PHPINIDIR "C:/php"
Posté : 17 juil. 2005, 14:24
par Brown
toujours pas :/

Posté : 17 juil. 2005, 14:29
par rami
Bon dans ce cas, rajoute "c:\php" dans la variable d'environnement PATH.
Posté : 17 juil. 2005, 15:09
par Brown
de quelle manière ?
(merci de perdre un peu de ton temps avc moi

)
Posté : 17 juil. 2005, 16:25
par rami
Je suis sous XP et je ne me rappelle plus trop comment ca se passait sous Windows 98.
Sous XP (et 2000):
> Clic droit sur le Poste de travail (ou Menu Démarrez > clic droit sur le Poste de travail) > Propriétés
> Onglet Avancé
> Variable d'environnement > Clic sur Path > Clic sur le bouton Modifier
Je suppute que ca doit pas être trop différent sur Win98 mais pas sûr...

Posté : 17 juil. 2005, 17:11
par Brown
J'ai viré tout, et réinstalé tout.
J'ai finalement réussit à mettre la variable PATH à la bonne valeur
(sous windows 98, il faut rajouter, à l'aide d'un editeur de texte, la ligne :
set PATH = "C:\php`\"
J'ai donc de jolies lignes lorsque j'execute ma fonction phpinfo() :
_SERVER["PATH"] C:\WINDOWS;C:\WINDOWS\COMMAND;C:\PHP\
PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\PHP\
PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\PHP
Le drame, c'est que maintenant il ne lit même plus mon fichier .ini :
Configuration File (php.ini) Path no value
Posté : 17 juil. 2005, 18:42
par rami
set PATH = "C:\php`"
C'est normal le `?
PHP est bien installé sur c:\php ?
Autrement, essaie d'installer wamp ou un truc du genre et reagrde les fichiers de config pour comprendre.
Posté : 17 juil. 2005, 20:09
par Brown
non, c'est une erreur de frappe de ma part, mais je n'ai pas fait cette erreur sur mon fichier. J'ai même enlevé le \ de la fin pour essayer, rien n'y fait.
Oui, php est bien installé sur c:\php
Posté : 17 juil. 2005, 20:31
par Brown
J'ai finalement installé mon fichier php.ini dans le rrépertoire d'apache, car il refuse obstinément de me l'accepter dans le repertoire c:\php
Cela dit, j'en reviens à mon problème de base, qui est qu'il refuse de charger des bibliothèques qui pourtant sont bien présentes sur mon pc, à savoir par exemple que, bien qu'il accepte de charger la bibliothèqe php_mysql.dll, il refuse de charger php_imap.dll alors que le fichier est bien dans le repertoire indiqué : c:\php\ext