Bonjour,
Je vous fais part de mon petit soucis actuel.
Dans mon application développée en PHP, j'ai besoin d'attaquer une DLL me permettant de crypter spécifiquement certaines informations.
Pourquoi passer par une DLL alors que d'autres méthodes plus simples à mettre en œuvre le permettent vous allez me dire ?
Et bien tout simplement car il s'agit d'une application médicale transportant des données devant être cryptées et nous sommes dans l'obligation d'utiliser la méthode de cryptage fournie par cette DLL.
Voilà pour le contexte. Mes recherches m'ont amenées vers l'extension de PHP nommée "ffi" que j'ai pu récupérer sous 2 formes et que j'ai du mal à faire marcher :
- soit 1 DLL (php_ffi.dll)
- soit un package en .tar
Pour php_ffi.dll je l'ai placé dans le répertoire /etc de php et je l'ai déclaré dans le php.ini, classique.
Sur la page d'administration d'EasyPhp ffi apparait bien, cependant lorsque je clique sur le lien pour voir les fonctions qui lui sont associées la liste est vide, bizarre.
J'ai testé bêtement un code montré comme exemple sur le net (parmi le peu de pages parlant de cette extension) et j'ai eu le droit à 1 magnifique plantage de mon serveur Apache lors de l'exécution du script.
Voici le code en question :
$win32_idl = <<<EOD
[lib='kernel32.dll'] DWORD GetTickCount();
[lib='user32.dll'] int MessageBoxA(int handle, char *text, char *caption, int type);
EOD;
$ffi = new ffi($win32_idl);
$count = $ffi->GetTickCount();
echo $ffi->MessageBoxA(0, "The tick count is " . $count, "Ticky Ticky", 1);
php_ffi.dll a l'air de fonctionner avec PHP v5.2 puisque cette dernière est en package dans une release de PHP en 5.2
ici.
Pour le fichier tar, je l'ai décompressé et j'ai obtenu toute une arborescence de fichiers avec des : .c, .h, .w32, .M4, .phpt, .IN, .S, ... Il est dispo
ici pour plus de détails.
A l'heure actuelle je suis 1 petit peu bloqué sur ces 2 fichiers et un peu d'aide serait la bienvenue.
S'il y a d'autres méthodes je suis bien évidemment preneur. Ça serait formidable que cela fonctionne dans la mesure où cela me permettrait d'enlever les quelques démons qui tournent conjointement avec l'appli et qui nous posent parfois quelques soucis.
Merci à vous !