2010-01-31 3 views
3

J'ai un serveur FTP sécurisé avec les détails de connexion et de PHP, j'essaie de me connecter à ce serveur FTP sécurisé en utilisant ftp_ssl_connect/ftp_connect et ftp_login fonction et en passant tous les paramètres correctement à la fonction, mais je suis étonné de vois qu'il ne se connecte pas. Si j'essaie de me connecter à ce serveur FTP sécurisé à partir de la ligne de commande en utilisant ssh que je ne peux le faire, mais quand j'essaye de me connecter via le code php, il ne se connecte pas et je ne sais pas pourquoi c'est passe?Connexion FTP sécurisée en utilisant PHP

De même, quelles sont les autres façons de se connecter au serveur FTP sécurisé en utilisant PHP?

EDIT: J'ai essayé d'utiliser ssh2_sftp mais je n'ai toujours pas pu me connecter à un serveur FTP sécurisé.

EDIT 2: Existe-t-il d'autres moyens de faire du SFTP avec PHP?

Mise à jour: Ajout de code qui a utilisé pour se connecter ssh2_sftp pour sécuriser un serveur FTP, mais il n'a pas travaillé et le programme est mort avec un message Cannot connect to Server

<?php 
$connection = ssh2_connect('www.server.com', 22); 
ssh2_auth_password($connection, 'username', 'password'); 

$sftp = ssh2_sftp($connection) or die ("Cannot connect to server"); 

$stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r'); 
?> 
+0

De votre commentaire à ma réponse, il semble que vous avez déjà essayé ssh2_sftp. Il peut être utile de modifier votre question pour refléter cela, et d'inclure les problèmes spécifiques que vous rencontrez avec cette fonction, c'est-à-dire le message d'erreur que vous obtenez lorsque vous exécutez le code spécifique. En outre, y compris la commande SSH que * fonctionne * peut permettre la validation de votre code. – mdb

+0

@mdb: J'ai mis à jour la question avec le code que j'ai utilisé pour me connecter, fondamentalement je l'ai utilisé depuis l'exemple de php.net pour ssh2_sftp. – user260204

+0

Existe-t-il un autre moyen de se connecter au serveur FTP sécurisé en utilisant PHP? – user260204

Répondre

1

Comme mdb a dit, vous devez utiliser l'extension ssh2 en PHP. Si vous utilisez Linux, c'est simple comme sudo pecl install ssh2. Si vous êtes sur OS X, vous devez soit faire une vérification svn, ou suivez les instructions ici: http://thirdpartycode.com/2010/01/installing-the-php-ssh2-extension-in-snow-leopard-10-6/

+0

Donc vous voulez dire que je dois installer un nouveau paquet pecl pour ssh2. Je travaille sur le serveur de l'entreprise qui est Linux. – user260204

+0

oui. Sauf si vous avez construit PHP avec l'extension, en fonction de votre distribution linux quelqu'un peut déjà avoir un RPM, ou un paquet Debian prêt pour cela. –

Questions connexes