【发布时间】:2016-02-16 14:44:03
【问题描述】:
在现有的 Laravel 项目中,我正在尝试将修复上传到网络服务器。我没有使用 Laravel 的经验。我要覆盖的文件位于/app/libraries/。
FTP 服务器有test.domain.com 和httpdocs 的实时版本。我可以在测试环境中上传修复程序,但在实时环境中,我在 FileZilla 中获得了拒绝权限。我什至尝试在 Plesk 上使用文件管理器,但即便如此我还是得到了Permission denied。 FTP 用户和 Plesk 用户都拥有所有可能的权限。
我有权在/app/ 中写入,但不能在/app/ 的任何子目录中写入。
Laravel 是否阻止覆盖这些文件?为什么它在同一网络服务器上的测试版本上工作?有没有其他方法可以覆盖该文件夹中的文件?
【问题讨论】:
-
那么 /app/libraries 和这个文件夹中的文件的权限是什么?
-
@OlegNeumyvakin;文件夹是 chmodded 755,文件是 644。尝试更改时,我得到
Operation not permitted -
755 和 644 分别表示只有这些目录/文件的所有者才有写权限。如果您通过 FPT 连接的用户不是这些文件的所有者,那么您无法更改它们。检查子文件夹的权限/所有者,例如
app/libraries,并查看它们是否与您的用户和所需的权限相匹配。有没有其他人可能使用不同的用户名上传文件? -
@vonUbisch 您的问题与 Laravel 无关。这实际上是一个FTP 权限 问题,您应该在服务器管理员的帮助下解决。如果您是服务器的唯一负责人,那么您是否有任何其他访问权限,例如 CPanel 或服务器配置?能否提供文件权限截图?
-
即使 FTP 用户拥有所有权限,如果 PHP 执行器(webserver 或 php-fpm 实例)不是同一个用户并且执行器没有任何权限(不同组等)做你还有问题的东西。所以我的猜测是,执行你的脚本(webserver 或 php-fpm 实例)的用户也不允许执行它。
标签: php laravel ftp permissions plesk