我想使用sftp将文件从本地移动到另一台服务器,这是config / filesystem.php中的sftp设置
'sftp' => [
'driver' => 'sftp',
'host' => '192.xxx.0.xxx',
'port' => 22,
'username' => 'xxx',
'password' => 'xxx',
'root' => '/',
'timeout' => 10,
],
这是我在控制器中的代码
$file_local = public_path().'/documents/1.pdf';
$file_sftp = Storage::disk('sftp')->put('1.pdf', $file_local);
$move = File::move($file_local, $file_ftp);
答案 0 :(得分:0)
777许可!是邪恶的关键入口!我没有以这种方式配置我的应用程序!我将首先检查文件是否仍存在于存储文件夹(您正在重命名的文件)中。我的第二个假设-文件由完全不同的用户拥有?通常,整个项目应在一个user.group所有者的控制下!在您的情况下,可能是apache.groupName,但您应仔细检查。所以我会做
ls -la // in project root directory and grab the ownerUser and ownerGroup names
// then I ld make sure everything is owned by them - back up your project first before changing ownership!
sudo chown -R ownerUser.ownerGroup * // -R for recursive
如果没有,我会将其保存在除存储文件夹之外的其他位置。希望对您有帮助