Aller au contenu

Etendre php


NorSeb

Sujets conseillés

Bonjour,

Voici mon problème.

Ma société édite des progiciels. L'un d'entre eux est développé en C et compilé de façon à pouvoir être utilisé comme une bibliothèque dynamique (une DLL sous Windows ou un .so sous Unix/Linux).

Mon projet consiste à développer une extension de php qui ferais appel à la fonction de la DLL de façon à ce que nos clients puisse utiliser l'appli sur le Web.

Je me suis donc mis à la tache en utilisant l'API Zend. J'ai suivi pas à pas les explications et descriptions de la doc. J'en suis à l'étape suivante, c'est à dire, à tenter d'adapter ceci à mon projet.

Le problème est que je doit inclure la dll (admettons qu'elle se nomme bibli.so et que la fonction s'appelle bibli() )

Après avoir compilé l'extension (test.c -> test.o) je créé ensuite la librairie test.so en faisant le lien entre test.o et bibli.so. (Je sais ca parait un peu compliqué)

Or le problème est quand j'appelle la librairie en php grâce à la commande : dl('test.so'); il me renvoi l'erreur suivante :

Unable to load dynamic library '/usr/lib/php4/20010901/test.so' - bibli.so  cannot open shared object file : No such file or directory in /home/public_html/index.php on line 3

Des suggestions ? :fou:

Lien vers le commentaire
Partager sur d’autres sites

C'est peut-être idiot comme réponse, mais ...

La bibliothèque est-elle bien dans le répertoire "extension_dir" mentionné dans le fichier php.ini ?

Dans l'affirmative, est-elle lisible par l'utilisateur ?

Lien vers le commentaire
Partager sur d’autres sites

C'est peut-être idiot comme réponse, mais ...

La bibliothèque est-elle bien dans le répertoire "extension_dir" mentionné dans le fichier php.ini ?

Dans l'affirmative, est-elle lisible par l'utilisateur ?

<{POST_SNAPBACK}>

Je vais voir si ca marche... En tout cas, ca ne parait pas idiot ;)

Lien vers le commentaire
Partager sur d’autres sites

C'est peut-être idiot comme réponse, mais ...

La bibliothèque est-elle bien dans le répertoire "extension_dir" mentionné dans le fichier php.ini ?

Dans l'affirmative, est-elle lisible par l'utilisateur ?

<{POST_SNAPBACK}>

En fait, c'est la bibliothèque appellée par celle ajoutée dans php qu'il ne trouve pas...

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...