我已经使用composer下载了phpseclib,它创建了路径/var/www/html/dom/vendor/phpseclib/phpseclib/phpseclib。
现在,我不知道我在哪里包括我的test.php文件来运行它。连续获得错误“致命错误:类‘phpseclib\Net\SSH2 2’在第50行的/var/www/html/dom/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP.php中找不到”
我的test.php代码是
<?php
set_include_path(get_include_path() . PATH_SEPARATOR . '/phpseclib');
include('Net/SFTP.php');
$sftp = new Net_SFTP('domain');
if (!$sftp->login('user', 'pass')) {
exit('Login Failed');
}
// outputs the contents of filename.remote to the screen
echo $sftp->get('filename.remote');
// copies filename.remote to filename.local from the SFTP server
//$sftp->get('filename.remote', 'filename.local');
?>发布于 2015-10-21 11:53:32
作曲家会产生一个自动加载器。你不需要关心手动包含一些东西。只要做:
include '/var/www/html/dom/vendor/autoload.php';发布于 2016-01-05 09:46:40
除了包含/要求之外,命名空间也不同。这是我的解决办法:
require_once __DIR__ . '/vendor/autoload.php';
$handler = new \phpseclib\Net\SFTP('ftp_host');
if (!$handler->login('ftp_user', 'ftp_password')) {
exit('FTP login failed');
}
print_r($handler->nlist());https://stackoverflow.com/questions/33258155
复制相似问题