Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 对Apache2/Debian 9的写入权限被拒绝_Php_Debian_Prestashop_Lamp - Fatal编程技术网

Php 对Apache2/Debian 9的写入权限被拒绝

Php 对Apache2/Debian 9的写入权限被拒绝,php,debian,prestashop,lamp,Php,Debian,Prestashop,Lamp,我有一个VPS和apache2 php fpm运行prestashop,它已经运行多年了,但突然之间,prestashop在权限方面遇到了问题 Apache的用户和组设置为“www数据”,与www文件夹中的所有文件和文件夹相同。所有权限都设置为755和644,但cache/smarty(必须将这些权限设置为777,这样商店才能继续工作。) 我已经检查过这是一个权限问题,因为prestashop无法从后台重新生成.htaccess文件(除非我将其设置为777) 我不知道该检查什么或者我能提供什么给

我有一个VPS和apache2 php fpm运行prestashop,它已经运行多年了,但突然之间,prestashop在权限方面遇到了问题

Apache的用户和组设置为“www数据”,与www文件夹中的所有文件和文件夹相同。所有权限都设置为755和644,但cache/smarty(必须将这些权限设置为777,这样商店才能继续工作。)

我已经检查过这是一个权限问题,因为prestashop无法从后台重新生成.htaccess文件(除非我将其设置为777)

我不知道该检查什么或者我能提供什么给你。欢迎任何帮助。谢谢大家抽出时间

编辑

我一直在检查“apache2”的进程,所有这些进程都是由www数据运行的

Steadweb让我检查php fpm,似乎这就是问题所在。但我不知道该在哪里改变


在Debian 9.7上测试,编辑以下文件:

/etc/php/7.0/fpm/pool.d/www.conf
并查找以下内容,其中声明了
用户
/
。更新如下:

...
user = www-data
group = www-data
您需要重新启动
apache
/
php-fpm
进程

ressystemctl restart php7.0-fpm apache2
笔记
  • 这是一种糟糕的做法,因为您正在为
    php fpm
    打开特权。我会确保特定的目录/文件具有写入权限
  • 将您的web目录设置为用户的所有权
    chown-R用户:www-data/path/to/website
  • 使用以下命令为您的网站设置目录/文件的权限
  • 然后,打开需要可写访问权限的特定文件/目录

如何将
.htaccess
文件的所有权设置为
www-data
user/group?www文件夹中的每个文件和文件夹都设置为www-data:www-data php-fpm作为什么用户运行?刚刚检查并编辑了问题出于安全原因,不建议授予php完全访问权限,但这是您的问题。我将很快回答如何配置php fpm。
cd /path/to/website
find -type d -exec chmod 750 {} \;
find -type f -exec chmod 644 {} \;