我正在使用phpseclib來做一些SFTP的東西。目前我無法登錄,我正試圖找出原因。在文檔,它指出我應該做這樣的事情PHP Composer使用define
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
include 'Net/SFTP.php';
define('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX);
$sftp = new NET_SFTP('***');
if(!$sftp->login('***', '***')) {
print_r($sftp->getSFTPErrors());
}
所以,我需要定義,以打印出SFTPErrors日誌記錄的類型。
因爲我在使用作曲家,所以我做的事情與上面不同。像往常一樣,我加載autoload.php。除了包含,我可以使用例如
use phpseclib\Net\SFTP;
我再繼續做類似下面
define('NET_SFTP_LOGGING', NET_SFTP_LOG_COMPLEX);
$sftp = new SFTP($config::SFTP_SERVER);
if(!$sftp->login($config::SFTP_USER, $config::SFTP_PASSWORD)) {
print_r($sftp->getSFTPErrors());
exit('Login Failed');
}
如果我這樣做,但我得到的輸出
Notice: Use of undefined constant NET_SFTP_LOG_COMPLEX - assumed 'NET_SFTP_LOG_COMPLEX' in ...
Array
(
)
Login Failed
所以看來與作曲家,我不能確定以相同的方式使用常量,並且打印出錯誤將生成一個空數組。
那麼,如何在我的作曲家項目中定義這個常量?
謝謝
你確定你不需要在定義的兩個字符串周圍引用引號嗎? – user2182349
我檢查的每個示例都沒有引用第二個參數 –
您確定已安裝phpseclib嗎? – user2182349