我想使用phpseclib庫將文件上傳到sftp服務器。下面是我寫PHPSECLIB調用未定義的函數crypt_random_string()
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib0.3.5');
$fileName = "sImg3.jpeg";
$fileData = file_get_contents($fileName);
$b64Data = base64_encode($fileData);
// upload the file to ftp server
include('Net/SFTP.php');
include_once('include/config.php'); // contains sftp connection details
$sftp = new Net_SFTP($ftpHost);
if (!$sftp->login($ftpUser, $ftpPasswd))
{
die("Failed to connect to SFTP server");
}
else
{
$sftp->put($filename,$b64Data);
echo "Uploaded the file (".$filename.")\n";
}
當我嘗試運行此代碼,我得到「PHP致命錯誤:調用到/var/www/phpseclib0.3.5/Net/SSH2未定義功能crypt_random_string()第1014行的.php「。
我已經安裝了php5-mcrypt和phpseclib。我是否需要爲phpseclib安裝任何其他依賴項?請告訴我。
感謝很多提前, 問候, Sudheer
感謝您的回覆。是的,我查了你上面提到的代碼。這就是我得到的錯誤!它的'函數未定義'錯誤,而不是'文件未找到'錯誤。真的很困惑,爲什麼我看到函數未定義的錯誤。 – user591912
如果你在net/SSH2.php的'require_once'之前加一個'echo'到目前爲止x1
\ r \ n「'這個x2
\ r \ n」'之後? – neubert
試過了。增加了這個回聲「this far x1
\ r \ n」; (!function_exists('crypt_random_string')){ echo「this far x2
\ r \ n」; require_once('Crypt/Random。PHP'); echo「this far x3
\ r \ n」; } 而且,這裏是我「這麼遠X1輸出
這麼遠X2
這一步X3
PHP致命錯誤:調用到/var/www/phpseclib0.3.5/Net/SSH2未定義功能crypt_random_string() .php on line 1017「 – user591912