我尝试在 linux 机器上安装 phpseclib。它对我来说非常有效。我希望您的 Mac 上需要类似的配置。
在linux服务器上执行以下命令。
sudo apt-get install php5-pgsql php-pear
sudo pear channel-discover phpseclib.sourceforge.net
sudo pear remote-list -c phpseclib
sudo pear install phpseclib/Net_SSH2
sudo service apache2 restart
在 Mac 上,使用 mac 端口执行以下命令
sudo 端口 -v 自我更新
sudo 端口安装 php54-ssh2
#add this to the php.ini file /etc/php.ini, it can be placed at the end of the file
extension=/opt/local/lib/php54/extensions/no-debug-non-zts-20100525/ssh2.so
sudo /usr/sbin/apachectl restart
在 Mac 上,使用 homebrew 执行以下命令。
酿造安装php54-ssh2
下载 phpseclib 库并包含到您的项目目录中。
在相关的php文件中添加如下代码。
include('phpseclib1.0.5/Net/SFTP.php');
set_include_path(get_include_path().PATH_SEPARATOR.'phpseclib');
define('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX);
$sftp = new Net_SFTP('555.55.55.55', 22);
if(!$sftp->login('username', 'password')) {
echo $sftp->getSFTPLog();
die('Login failed!');
} else {
echo $sftp->pwd();
echo $upload = $sftp->put('/sftp/'.$filename, $uploadedfile, NET_SFTP_LOCAL_FILE);
}