我已经在机器上安装了Apache,因此可以将localhost用作PHP服务器。那个有效。现在,我正在尝试使用PHP通过SFTP将文件发送到另一台服务器。我环顾四周,发现推荐了phpseclib。我似乎无法弄清楚如何安装phpseclib。以下是网站提供的内容:

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
include('Net/SFTP.php');



我理解这些词的意思,但是我无法使其正常工作。我正在使用Mac。我的服务器在/Users/diego/Sites/中。我到底需要在哪里放置phpseclib文件夹?我需要在php文件中添加哪些行,以便包括phpseclib

最佳答案

我尝试在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端口执行以下命令
须藤端口-v selfupdate
须藤端口安装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上,使用自制程序执行以下命令。
酿造安装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);
}

关于php - 如何安装phpseclib?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30515751/

10-10 17:42