Bqda

Inscris le 10/06/2009 à 16:24
  • Nombre de sujets
    1
  • Nombre de messages
    6
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

Bqda
le 12/06/2009 à 15:50
Soucis d'utilisation d'une DLL sous php avec objet COM
En fait ou et non, puisqu'on peut accéder facilement aux dll system via php. C'est juste le pointeur que php a du mal à gérer, pourtant il devrait le considérer comme 1 simple chaine de caractère lui.
Bqda
le 12/06/2009 à 14:29
Soucis d'utilisation d'une DLL sous php avec objet COM
Merci à toi en tout cas ! Ca doit bien être possible d'utiliser 1 dll perso en php. Je test actuellement WinBinder et ça à l'air de plus ou moins bien tourner.

Le soucis maintenant est ma variable de type pointeur qui me pose bien des misères, j'ai le droit à un magnifique plantage d'Apache.
Je vais me renseigner sur leur forum.

Merci en tout cas.
Bqda
le 11/06/2009 à 14:31
Soucis d'utilisation d'une DLL sous php avec objet COM
J'utilise le bon php.ini (je passe par le menu de configuration sous easyphp) et je restart bien mon serveur à chaque fois.

Le soucis est qu'il ne s'agit pas d'une librairie php comme je te l'ai dit, d'ailleurs le fichier de log vient de me confirmer qu'il n'était pas possible de charger autre chose qu'une librairie php via cette méthode. Réveillé comme je suis je n'ai même pas pensé à le consulter lol.

Voici la ligne que j'obtiens dans le fichier de log : "PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) 'dllapi.dll' in Unknown on line 0"
Bqda
le 11/06/2009 à 12:44
Soucis d'utilisation d'une DLL sous php avec objet COM
Je l'ai déclaré comme suit :
extension=dllapi.dll

Pour mon extension_dir : extension_dir = "${path}\php5\ext"

Mon path est correct, je l'ai vérifié et ma dll est bien dans le répertoire.

Si je fais 1 phpinfo, mon extension n'apparait pas. Je ne comprend pas bien pourquoi d'ailleurs. Peut être est-ce parce qu'il ne s'agit pas d'une vraie extension php ?
Voilà pourquoi je suis vite passé aux objets COM.
Bqda
le 11/06/2009 à 12:11
Soucis d'utilisation d'une DLL sous php avec objet COM
Oui je l'ai testé et ça me sort l'erreur suivante :

Warning: dl() [function.dl]: Not supported in multithreaded Web servers - use extension=dllapi.dll in your php.ini


Bien entendu j'ai déclaré mon extension dans mon .ini

Pour ce qui est de la dll, je ne préfère pas trop qu'elle se répande puisqu'une fois les tests validés elle nous permettra de crypter des données sensibles, même si entre temps les clés de cryptages changeront.
Bqda
le 10/06/2009 à 16:53
Soucis d'utilisation d'une DLL sous php avec objet COM
Bonjour !

J'ai un "petit" soucis pour utiliser une dll en PHP. J'ai essayé plusieurs solutions mais rien de bien efficace.
La dernière en date est celle avec les objets COM.
Voici le code que j'ai pour l'instant :

<?php
$str_to_crypt = "toto";
$str_crypt = '';

$NewCom = new COM("DynamicWrapper");
$NewCom->Register("dllapi.dll", "APICcrypterMem2", "i=spss", "f=s", "r=l");
$NewCom->APICcrypterMem2($str_to_crypt, $str_crypt, 'Master', 'C:\\Cles');
?>


J'ai bien entendu intégré à mon environnement la dll concernant le DynamicWrapper.
Mon soucis est qu'à l'exécution du script, j'obtiens l'erreur suivante :

Fatal error: Uncaught exception 'com_exception' with message 'Error [0x80070057] Paramètre incorrect. ' in C:\Documents and Settings\Administrateur\Bureau\PHP\s_crypt.php:10 Stack trace: #0 C:\Documents and Settings\Administrateur\Bureau\PHP\s_crypt.php(10): com->APICcrypterMem2($str_to_crypt, '', 'Master', 'C:\Cles') #1 {main} thrown in C:\Documents and Settings\Administrateur\Bureau\PHP\s_crypt.php on line 10


Je pense que le soucis viens de la variable de type pointeur. Sinon pourquoi utiliser une dll ? Tout simplement car cette dll nous est fourni par un organisme indépendant et l'on a obligation de s'en servir pour notre application full web.
Étant donné qu'il s'agit d'un intranet, une install sur les postes clients ne pose évidemment aucun soucis.

Voici les 2 sources sur lesquelles je me suis basé pour mon code :
http://freenet-homepage.de/gborn/WSHBazaar/WSHDynaCall.htm
http://www.php.net/manual/fr/ref.w32api.php

Bien évidemment si une autre solution existe je suis preneur.

Help ! :(
LoadingChargement en cours