我想在使用公鑰(不是密碼)進行身份驗證之後將文件放到STFP服務器上。 命令行中的手動SFTP工作。 首先,我不能使用phpseclib。在我的php.ini 'allow_url_fopen選項'= 1在SFTP服務器上放置一個文件
stream_get_wrappers()給我:HTTPS,FTPS,compress.zlib,compress.bzip2,PHP文件,水珠,數據,HTTP,FTP,藥業,ssh2.shell ,ssh2.exec,ssh2.tunnel,ssh2.scp,ssh2.sftp,拉鍊
一切工作(依次是:ssh2_connect,ssh2_auth_pubkey_file,ssh2_sftp) 但是這個代碼不工作:
$sftp = ssh2_sftp($connection);
$dest = 'test.txt';
--> $sftpStream = fopen('ssh2.sftp://'.$sftp.$dest, 'w'); <---
PHP Warning: fopen(ssh2.sftp://Resource id #32test.txt): failed to open stream:
任何想法 ?
謝謝 S.
您是否使用與您說它在命令行上可用的用戶相同的用戶來執行此代碼?如果您通過網絡服務器執行此頁面,它將在Web服務器進程的相同用戶(在debian/ubuntu中爲www-data或rhel/centos中的httpd)執行。 – 2011-05-31 10:39:57