首页 > 解决方案 > 使用 phpbrew 向 php 用户授予权限

问题描述

我一直在尝试自己回答这个问题,但找不到任何有帮助的东西,如果这看起来很明显:S

我对 PHP 很陌生,我正在尝试在本地安装 Prestashop。我已经将 nginx 设置为使用 phpbrew 提供的 php-fpm 版本(默认系统 php 太新(7.2)并且 Prestashop 无法执行管理页面。我正在尝试运行 php 5.6。

问题是,当使用此设置运行 Prestashop 时,安装不会继续,php 用户没有写入安装 prestashop 的文件夹的权限。

An error has occured: 
You need to grant write permissions for PHP on the following directory: /var/www/html/pshop

奇怪的是,该文件夹属于 www-data,它应该是运行服务器的文件夹,但由于某种原因 PHP 无法在那里写入。如果我用一个简单的 php 文件检查 php 用户是什么:

<?php
echo 'Current script owner: ' . get_current_user();
?>

我知道用户很root奇怪,因为错误似乎是 php 无法写入文件夹...

也许我缺少一些东西?

标签: phpnginxprestashopphpbrew

解决方案


似乎是一个安全问题,因为用户文件是 root。

尝试通过 ssh 使用 chown 命令更改用户和组。

$ chown -R www-data:www-data /var/www/html/pshop

如果您无法获得 ssh 访问权限,您可以尝试使用 php system() 或 exec() 函数执行此命令。


推荐阅读