Я пытаюсь изменить текстовый файл, расположенный в каталоге / etc / nginx, через php. Я использую для этого fopen (), однако я не могу получить доступ к каталогам за пределами моих веб-сайтов root папка.
Например, мой веб-сайт хранится по абсолютному пути: / webroot / mywebsite / и если я попытаюсь прочитать что-нибудь вне этой папки, например / etc / nginx, fopen () умирает.
- Я пробовал просто использовать ../../etc/nginx, но не нашел
- Я пробовал запустить PHP как root
- Я попытался добавить пользователя http в группу root
- Я попытался установить переменную open_basedir в php .ini
- Я попытался создать символическую ссылку на / et Папка c в папку / web root, но не может ее найти
- Я проверил свою Nginx конфигурацию, и все php конфигурации не отменяют open_basedir
- У меня есть подтвердил, что php .ini, который я редактирую, на самом деле изменяется в phpinfo ();
- Я НЕ пробовал chmodding каталог root моей установки Arch. Я боюсь, что это что-то сломает
Когда я выхожу эхом realpath("index.php")
, он возвращает "/webroot/mywebsite/index.php"
Вот как я подтверждаю если у меня есть доступ к моей директории root, но она не изменилась. Понятия не имею, что еще я могу попробовать. Моя старая установка Debian позволяла мне использовать абсолютный путь. Это моя новая установка Arch, и я впервые испытал это. Я подозреваю, что это может быть проблема с разрешением, но я не хочу полностью изменять свою ОС root. Есть другие предложения? Спасибо