我想在使用公钥(不是密码)进行身份验证之后将文件放到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