1

我正在尝试使用 Laravel FTP Flysystem 适配器。按照https://laravel.com/docs/5.2/filesystem上的说明,我已将以下内容添加到我的filesystems.php配置文件中

'disks' => [
        'ftp' => [
            'driver'   => 'ftp',
            'host'     => 'ip_address',
            'username' => 'username',
            'password' => 'password',
            'root'     => '/home/username',
            'ssl'      => true,
        ],

    ],

当我在 FTP 磁盘上运行任何命令时,例如Storage::disk('ftp')->allDirectories('/home/username')出现以下错误

PHP 致命错误:在 ../vendor/league/flysystem/src/Adapter/Ftp.php:455 中带有消息“fclose():提供的资源不是有效的流资源”的未捕获异常“ErrorException”

我已经在 FTP 客户端上测试了 FTP 服务器,一切正常。

4

1 回答 1

0

事实证明,vsftpd 是“拒绝在 chroot 内使用可写 root 运行”。很好的 PHP 可以显示任何类型的自定义错误。

解决方案是在用户的主目录中创建一个新目录

mkdir /home/username/files

将该文件的所有权更改为 root

chown root:root /home/username

在“文件”子目录中进行所有必要的更改

于 2016-05-24T13:12:05.617 回答