Дайте persmisions пользователю php, используя phpbrew

Juanpe Araque спросил: 10 мая 2018 в 04:07 в: php

Я уже некоторое время пытаюсь ответить на него сам, но не могу найти ничего, что помогает, извините, если это кажется очевидным: S

Я довольно новичок в PHP, и я пытаюсь установить Prestashop локально. Я установил nginx для использования версии php-fpm, предоставляемой phpbrew (системная PHP-версия по умолчанию слишком новая (7.2), а Prestashop не выполняет страницу администрирования. Я пытаюсь запустить php 5.6.

Проблема заключается в том, что при запуске Prestashop с этой настройкой установка не будет продолжена, у пользователя php нет разрешений на запись в папку, где установлен предварительный шаблон.

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

Странный Дело в том, что эта папка принадлежит www-данным, которая, как предполагается, принадлежит серверу, но по какой-то причине PHP не может там писать. Если я проверю, что такое php-пользователь с простым файлом php:

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

Я получаю, что пользователь root, который странный, учитывая, что ошибка, похоже, не вписывается в папку php ...

Может быть, что-то мне не хватает?

1 ответ

Jean ответил: 10 мая 2018 в 08:10

Кажется, проблема безопасности, потому что пользовательские файлы являются root.

Попробуйте изменить пользователя и группу с помощью команды chown через ssh.

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

Если вы не можете получить доступ к ssh, вы можете попробовать выполнить эту команду с помощью функции php system () ou exec ().

Дополнительное видео по вопросу: Дайте persmisions пользователю php, используя phpbrew

Install Multi PHP versions On Ubuntu 13.10 /14.40