Я пытался ответить на это сам в течение некоторого времени, но не могу найти ничего, что поможет, извините, если это кажется очевидным: 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 не в состоянии записать в папку …
Может быть, что-то мне не хватает?
Кажется, это проблема безопасности, потому что пользовательские файлы являются корневыми.
Попробуйте изменить пользователя и группу с помощью команды chown через ssh.
$ chown -R www-data:www-data /var/www/html/pshop
Если у вас нет доступа по ssh, вы можете попробовать выполнить эту команду с помощью функции php system () ou exec ().
Других решений пока нет …