Дайте разрешения пользователю php с помощью phpbrew - PullRequest
0 голосов
/ 03 июня 2018

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

Я довольно новичок в PHP и пытаюсь установить Prestashop локально,Я настроил nginx для использования версии php-fpm, предоставляемой phpbrew (системный 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-данные, которые, как предполагается, должны работать на сервере, но по какой-то причине PHP не может туда писать. Если я проверю, что такое пользователь php, с помощью простого файла php:

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

, я получаю, чтопользователь root, что странно, если учесть, что ошибка, по-видимому, в том, что php не может записать в папку ...

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

1 Ответ

0 голосов
/ 04 июня 2018

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

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

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

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

...