IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[SSH Client] Installation php_ssh2.dll


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut [SSH Client] Installation php_ssh2.dll
    Bonjour,

    Je tourne en rond depuis des jours pour essayer de me connecter en php à une machine unix en SSH.

    - Le serveur windows est en Win server 2003 SP2.
    - J'ai installé par le msi une version d'apache en 2.2.21 no-ssl (normalement, en SSH client, je n'ai pas l'utilité d'installer un serveur SSL).
    - J'ai installé php 5.3.8 (j'ai aussi essayé en 5.2.17). La version zip juste déposée.

    Lorsque je dé-commente la ligne dans le php.ini pour l'extension php_ssh2.dll, le serveur apache ne démarre plus, et ne me met aucune information dans le fichier error.log. J'ai essayé avec 2 dll trouvées sur le net (0.11.0.0 et 0.11.2.0), compilées en VC6 ou VC9, mais aucune ne démarre.

    J'ai l'impression qu'il me manque un truc sur le serveur, mais je ne trouve pas quoi.

    J'ai installé OpenSSH sous le répertoire Apache, et en ligne de commande, j'arrive à me connecter en SSH sur une machine unix sans problème. Je pourrais faire des exec() des binaires d'openssh, mais pour que l'ensemble soit portable d'un serveur web à un autre, je veux utiliser les fonction ssl_...() de php. Une autre raison m'oblige à passer par une install sous php, c'est que toutes les machine unix ont le meme fichier "id_rsa.pub" avec la meme clef, il me faut donc trouver comment mettre un .ssh sur le serveur apache.

    Les dll VC6 sont installées mais ne semblent pas avoir d'utilité dans mon cas.

    Qu'est ce que j'ai oublié ????

    J'ai bien trouvé libssh2.org et téléchargé le dernier zip, mais je ne sais pas comment l'utiliser. Je ne sais meme pas si c'est nécesaire.
    Idem pour PECL ou PEAR.

    Quelqu'un a t'il une doc, un tuto ou autre pour que je comprenne mieux le fonctionnement d'un simple client sous windaube ?

    Précision : sans la dll ssh2, mon serveur fonctionne parfaitement, et accède par exemple à Oracle 10g.

    Merci d'avance
    loïc

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    quelle est la version exacte de ta build (phpinfo -> PHP Extension Build)
    ensuite dans ton php.ini met le display_errors_startup sur On, et sous commande fait php -m, l'erreur devrai apparaitre

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    quelle est la version exacte de ta build (phpinfo -> PHP Extension Build)
    ensuite dans ton php.ini met le display_errors_startup sur On, et sous commande fait php -m, l'erreur devrai apparaitre
    Je suis en php extension build "API20090626,TS,VC9" en 5.3.8, mais je n'ai pas le paramètre en 5.2.17... Donc il me faudrait les msvc9.. si j'ai bien compris pour la 5.3.8, et pour l'autre je ne sais pas.

    Le php.ini est dans le répertoire bin d'apache. Donc pas de message d'anomalie au démarrage manuel de php (sous cmd).

    Mais si apache est compilé en VC9, il doit avoir les dll de fonctionnement, quelques part, pourquoi php ne peut il les utiliser... Et dire que je ne peux pas utilser linux pour mon server web (je suis au boulot).

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    quelle est l'erreur sous la 5.3 ?

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    quelle est l'erreur sous la 5.3 ?
    Si je ne met pas le php.ini dans le répertoire php, aucun. Apache ne démarre pas et ne dit pas pourquoi.

    J'ai recréé vite fait un php.ini que j'ai mis à la base de php, j'ai juste le message suivant :
    PHP Warning: PHP Startup: Unable to load dynamic library './ext\php_ssh2.dll' - This application has failed t
    o start because the application configuration is incorrect. Reinstalling the application may fix this problem.
    J'ai aussi mis la php_oci8 pour etre sur qu'il va bien chercher les dll au bonne endroit, il la prend sans soucis.
    J'ai essayé de mettre le runtime VC++ 2008, avec l'exe de m$, pour l'instant il refuse de s'installer. Je continue mes recherche, mais j'ai vraiment l'impression que c'est ça qui ne marche pas.

    Si j'ai du temps, j'essaierai un version de php 5.n.n compilée en VC6 pour voir.

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    t'as besoin du dll de la libssh

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Je ne la trouve nulle part sur le net.... pour l'instant

    J'en ai trouvé une, mais ça ne marche toujours pas.

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    je vais te compiler tout ça

  9. #9
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Cool ! MERCI

    J'ai trouvé aussi une libssh2.dll, mais ça ne marche toujours pas.

    Et les regsvr32 de l'une comme de l'autre ne fonctionne pas.

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    je te fais ça demain

  11. #11
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    je te fais ça demain
    Tout à fait d'accord, ici (Le Mans) il neige pas mal, vu les habitudes locales sous la neige, je vais y aller aussi.

    A demain et merci encore, finger-cross for tomorrow.

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    t'as bien pris la libssh2 ?

    http://josefsson.org/gnutls4win/?C=M;O=D

  13. #13
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    t'as bien pris la libssh2 ?

    http://josefsson.org/gnutls4win/?C=M;O=D
    Oui, et ça n'a pas amélioré le fonctionnement.

    Je suis allé sur le josefsson.org, j'ai téléchargé libssh2-1.2.7.zip, et j'ai trouvé dans le rep bin une "libssh2-1.dll", je l'ai recopié dans le repertoire de php (en la renommant libssh2.dll). Et j'ai toujours le problème de démarrage.

    J'ai d'autres tâches pour mon boulot, donc je ne suis pas à 100 % sur le sujet.

    J'ai fait plusieurs essais avec des libssh2.dll ou libssh.dll (et différentes php_ssh2.dll). Rien n'y fait.

    Tu ne connaitrais pas une version d'un serveur php qui fonctionnerait en ssh ?
    Parce que j'en suis à me demander si une des versions 5 fonctionne.

    Je vais essayé un 5.3.9 en VC6 pour voir.

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    faut bien regarder les popup de php -m, il te disent exactement l'erreur

  15. #15
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    faut bien regarder les popup de php -m, il te disent exactement l'erreur
    C'est avec cela que j'essaie d'avancer.

    J'ai donc essayé php 5.2.17 en VC6... Apache le lance sans problème sans la php_lib2.dll. L'essai à été fait avec dg2, mbstring et ora8 comme d'hab. Les pages web ne fonctionnent pas à cause de la gestion des includes, mais c'est sans importance pour le test.

    J'ai essayé les 4 php_ssh2.dll (VC6, 7, 8 et 9) en php -m.
    Les trois premières me donnent :
    PHP Warning: PHP Startup: Unable to load dynamic library 'c:\php_5_2_17\ext\php_ssh2.dll' - This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.
    in Unknown on line 0
    La version VC9 est plus parlante :
    PHP Warning: PHP Startup: ssh2: Unable to initialize module
    Module compiled with module API=20090626, debug=0, thread-safety=1
    PHP compiled with module API=20060613, debug=0, thread-safety=1
    These options need to match
    in Unknown on line 0
    J'ai essayé deux libssh2.dll, mais rien n'y fait, apache ne démarre pas dès que je met extension php_ssh2.dll
    Une question idiote : la libssh2.dll, que je la mette directement dans c:\php ou c:\php\ext, tu penses que ça change quelque chose ?

  16. #16
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    - J'ai installé par le msi une version d'apache en 2.2.21 no-ssl (normalement, en SSH client, je n'ai pas l'utilité d'installer un serveur SSL).
    - J'ai installé php 5.3.8 (j'ai aussi essayé en 5.2.17). La version zip juste déposée.
    Il me semble que chez apachelounge il ne propose pas de msi et à ma connaissance chez apache les binaire proposé sont toujours en VC6.

    D'où ma question ,est tu certains que toute ta chaîne est en VC9 (apache et php ) ou VC6 mais pas les deux à la fois ?
    Si ce n'est pas le cas c'est sans doute la source de tes problèmes.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  17. #17
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par grunk Voir le message
    ... à ma connaissance chez apache les binaire proposé sont toujours en VC6...
    Je pense aussi, mais les autres dll php en VC9 fonctionnent correctement (en 5.3.8 ou 5.2.17).

    Pensant aussi à une incompatibilité, j'ai essayé la 5.2.17 en VC6, mais le problème est le même.

    Et pourtant, j'ai trouvé des fils de discussions sur le net de problème ssh en php, mais à chaque fois, c'est post démarrage, ils ont tous déjà installé la dll.

    Dans la doc php, il est noté qu'avant la v5, il fallait PECL et/ou PEAR. j'ai pas trop compris comment ça marche non plus, mais sans vraiment chercher. A partir de la V5, le ssh est "normalement" pré-configuré, mais sur mon serveur.... Rien ne marche.

    J'ai rarement vu un problème aussi "simple" me résister aussi longtemps.

  18. #18
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    il me manque des bind pour la compilation c'est pas simple a trouver

    en ce qui concerne PECL et compagnie, SSH est toujours en PECL, ça veux dire que c'est une extension PHP mais qui ne fait pas parti des sources de PHP, et SSH2 en fait parti

    pour qu'un extension marche correctement, il faux prendre la même build
    exemple : PHP 5.3 VC9 TS
    si le PECL, n'est pas exactement pareil, ça ne fonctionnera pas (pour les version de PHP c'est X.X, donc une extension 5.3.2 marche avec un 5.3.5)

    Comme le dis la doc, SSH2, a aussi besoin des dll de openssl et libssh2, c'est DLL doivent etre dans la path windows, ou directement dans le dossier de PHP

  19. #19
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Je pense aussi, mais les autres dll php en VC9 fonctionnent correctement (en 5.3.8 ou 5.2.17).
    Je te conseillerais quand même de faire un test full VC9 en téléchargeant une archive chez apachelounge (un zip 2.2.21 + openssl).
    Sur la page des download php c'est bien spécifié que php vc9 = apache vc9
    Ca prend 5 minutes puisque tout est déjà compilé , tu as juste à décompresser apache et php dans un dossier et d'ajouter le handler php dans le httpd.conf
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  20. #20
    Membre à l'essai
    Inscrit en
    Septembre 2005
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Septembre 2005
    Messages : 47
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par grunk Voir le message
    Je te conseillerais quand même de faire un test full VC9 en téléchargeant une archive chez apachelounge (un zip 2.2.21 + openssl).
    Sur la page des download php c'est bien spécifié que php vc9 = apache vc9
    Ca prend 5 minutes puisque tout est déjà compilé , tu as juste à décompresser apache et php dans un dossier et d'ajouter le handler php dans le httpd.conf
    CA MARCHE ! ! !

    Il faut mettre un apache avec SSL, pour ne faire que du SSH, il y a surement un moyen plus simple, mais au moins je peux m'en sortir et continuer mes développements.

    Je vais prendre le temps de mettre une explication complète au cas ou quelqu'un aurait le même soucis.

    Merci pour vos interventions et votre disponibilité.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ActiveX] Installation de DLLs à partir d'un .cab
    Par dragonjoker59 dans le forum Windows
    Réponses: 1
    Dernier message: 27/10/2006, 12h15
  2. Prévenir l'application cliente d'une DLL?
    Par mambo dans le forum Visual C++
    Réponses: 2
    Dernier message: 31/08/2006, 14h32
  3. Réponses: 29
    Dernier message: 21/06/2006, 09h27
  4. PutTy - SSH client XP ?
    Par Jean_Benoit dans le forum Réseau
    Réponses: 13
    Dernier message: 04/06/2006, 16h51
  5. Réponses: 3
    Dernier message: 30/09/2005, 22h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo