Prestashop“递归写入权限”错误

Prestashop“递归写入权限”错误

尝试在本地安装 prestashop(LAMP),以下错误列表阻止安装继续进行。

文件和文件夹的权限

  • ~/config/ 上 www-data 用户的递归写入权限
  • ~/cache/ 上 www-data 用户的递归写入权限
  • ~/log/ 上 www-data 用户的递归写入权限
  • ~/img/ 上 www-data 用户的递归写入权限
  • ~/mails/ 上 www-data 用户的递归写入权限
  • ~/modules/ 上 www-data 用户的递归写入权限
  • ~/themes/default-bootstrap/lang/ 上 www-data 用户的递归写入权限
  • ~/themes/default-bootstrap/pdf/lang/ 上 www-data 用户的递归写入权限
  • ~/themes/default-bootstrap/cache/ 上 www-data 用户的递归写入权限
  • ~/translations/ 上 www-data 用户的递归写入权限
  • ~/upload/ 上 www-data 用户的递归写入权限
  • ~/download/ 上 www-data 用户的递归写入权限

此外,运行以下命令会导致出现“操作不允许”消息

cd /var/www/prestashop

chown -R www-data *

chgrp -R www-data *

答案1

您需要有更改所有权的权限。将 sudo 添加到您正在执行的命令中:

sudo cd /var/www/prestashop
sudo chown -R www-data *
sudo chgrp -R www-data *

或者直接使用一个命令而不是三个命令来一次性完成所有操作:

sudo chown -R www-data:www-data /var/www/prestashop

答案2

收藏 尝试在本地安装 prestashop(LAMP),以下错误列表阻止安装继续进行。

文件和文件夹的权限

  • Apache 用户在 ~/config/ 上的递归写权限
  • Apache 用户在 ~/cache/ 上的递归写权限
  • Apache 用户在 ~/log/ 上的递归写权限
  • Apache 用户在 ~/img/ 上的递归写权限
  • Apache 用户对 ~/mails/ 的递归写权限
  • Apache 用户对 ~/modules/ 的递归写权限

~/download/ 上 www-data 用户的递归写入权限此外,运行以下命令会导致出现“操作不允许”消息

我有这种类型的权限问题。所以我尝试了这个命令

chmod -R 777 prestashop/

它对我有用,使用 777 可能是一种不好的做法,但我尝试在本地环境中测试它是否有效。

答案3

您不应该将 prestashop 权限更改为 777。这并不安全。

您只应更改文件/文件夹的所有权。以 身份登录root并假设所有 prestashop 文件/文件夹都位于,/var/www/public_html/然后 cd 到/var/www/并输入:

chown -R www-data:www-data public_html/*

如果您未以 身份登录root,但您是 sudo 用户,则只需sudo在命令开头添加:

sudo chown -R www-data:www-data public_html/*

chown 是什么

chown/*将 ALL(看到末尾的了吗?)文件/文件夹的所有者更改public_html为 www-data。用户之间的分号仅指定user: user_group-R告诉命令进行递归并输入所有子文件夹并在那里应用这些更改。

什么是 www-data

取决于您的 Linux 发行版,默认情况下会带有x默认用户,例如root。当您安装某些应用程序时,这些应用程序会创建一个特定于应用程序的用户。在许多发行版中,Apache 创建一个名为的用户www-data。因此,通过将 prestashop 文件/文件夹的所有权更改为www-data您,本质上允许 Apache 服务器根据其权限操作文件。

开箱即用,它应该可以正常工作。您可能需要更改某些上传/tmp 文件夹的权限,但前提是文件/模块的上传/升级/更新失败。

答案4

我在 SSH 上使用了这个命令,它允许 apache 用户和 FTP 用户的权限:

  1. 登录 SSH
  2. 导航到您的 prestashop 网站文件夹
  3. 当你在其中时,输入此命令 - 将“yourftpusername”替换为您的 ftp 用户名chown -R apache:yourftppusername *

相关内容