Problème lors du chargement d'une librairie .so

Clemiou
Invité n'ayant pas de compte PHPfrance

08 avr. 2008, 21:42

Bonjour à tous.

Dans le cadre de mon stage, je travail sur une librairie .so que je dois charger. J'utilise donc la fonction dl() et ai donc un texte de ce type:

Code : Tout sélectionner

<?php if(dl('php_mapscript.so')) echo 'Chargement OK'; else echo 'Chargement Errone'; ?>
Et bien entendu, ça me marque chargement erroné. Alors j'ai vérifié que mon fichier se trouvait bien dans le répertoire des extensions (en comparant avec le chemin indiqué pour celles-ci dans le fichier php.ini). Par ailleurs, dans ce même fichier, php.ini, l'option enable-dl est bien sur On.

Je viens donc chercher un peu d'aide parmi vous :)
Merci d'avance

Clémiou

PS: Je tourne sous une Fedora Core 6 et php 5.1.6

Clemiou
Invité n'ayant pas de compte PHPfrance

09 avr. 2008, 10:33

Après recherches, il s'avère que la fonction dl() est obsolète pour php5. Il faut donc utiliser les directives d'extension.
En cherchant un peu, j'ai vu dans le php.ini que les directives d'extension devaient etre placées dans le répertoire etc/php.d dans un fichier .ini
En effet, on y trouve un fichier gd.ini avec à l'interieur une instruction du type

Code : Tout sélectionner

extension=gd.so
J'ai donc crée un fichier .ini de la même manière et j'ai redemarré apache.

Le phpinfo() me dit alors qu'il a bien lu mon fichier .ini (puisqu'elle est citée à la ligne additional .ini files parsed) mais le extension_loaded me retourne toujour false.

La je ne sais plus. ^^ Et vous?

Clemiou
Invité n'ayant pas de compte PHPfrance

09 avr. 2008, 16:20

En l'occurence, quand je fais un php --modules, j'ai le droit à un message me disant que j'ai un module qui a été compilé avec une version de php différente de celle qui est utilisée.

Or, j'ai installé php 5.2.5 via la méthode décrite à cette page:

http://mapserver.gis.umn.edu/docs/howto ... nuxinstall

et donc le php --version me donne celle de base de fedora.

J'suis donc bien bloqué dans mon stage :)