Chargement des librairies php par apache

Eléphanteau du PHP | 18 Messages

16 juil. 2005, 20:59

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 :)

Mammouth du PHP | 983 Messages

16 juil. 2005, 21:28

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?)

Eléphanteau du PHP | 18 Messages

16 juil. 2005, 21:47

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 :cry: :cry:

Eléphanteau du PHP | 18 Messages

16 juil. 2005, 22:03

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)

Mammouth du PHP | 983 Messages

16 juil. 2005, 23:39

Tu as essayé PHPINIDIR="C:/php" ?

Eléphanteau du PHP | 18 Messages

17 juil. 2005, 00:33

Voilà ce à quoi j'ai droit quand j'utilise PHPINIDIR ou PHPIniDir dans le fichier httpd.conf :

Image

Mammouth du PHP | 983 Messages

17 juil. 2005, 13:50

Autant pour moi, la syntaxe c'est PHPINIDIR "C:/php"

Eléphanteau du PHP | 18 Messages

17 juil. 2005, 14:24

toujours pas :/

Image

Mammouth du PHP | 983 Messages

17 juil. 2005, 14:29

Bon dans ce cas, rajoute "c:\php" dans la variable d'environnement PATH.

Eléphanteau du PHP | 18 Messages

17 juil. 2005, 15:09

de quelle manière ?

(merci de perdre un peu de ton temps avc moi :))

Mammouth du PHP | 983 Messages

17 juil. 2005, 16:25

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...

Image

Eléphanteau du PHP | 18 Messages

17 juil. 2005, 17:11

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

Mammouth du PHP | 983 Messages

17 juil. 2005, 18:42

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.

Eléphanteau du PHP | 18 Messages

17 juil. 2005, 20:09

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

Eléphanteau du PHP | 18 Messages

17 juil. 2005, 20:31

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