Запись в файл без прав доступа с PHP - PullRequest
0 голосов
/ 23 февраля 2012

Я пытаюсь создать сценарий установки для моего приложения PHP (CodeIgniter), и мне нужно записать информацию базы данных, которую я получаю от пользователя, в файл конфигурации базы данных CI.Конечно, я сталкиваюсь с проблемой разрешений, потому что у каталога конфигурации нет разрешения на запись.Поэтому мой вопрос заключается в том, как это стало бы возможным, если бы пользователь, устанавливающий мое приложение, сам не управлял разрешениями на папки.

Ответы [ 2 ]

1 голос
/ 23 февраля 2012

У них должен быть доступ к опциям чтения / записи папки веб-сервера на их конце - многие хосты не позволяют вам делать это через FTP-доступ, поэтому вы даже не можете сделать прямое решение, используя это - им, возможно, придется пойтичерез систему панели управления, чтобы выполнить задачу такого типа.

Там нет кода «Запустите этот скрипт, и он изменит разрешения для папок» - конечный пользователь должен быть достаточно опытным, чтобы знать, как это сделатьэто.

0 голосов
/ 23 февраля 2012

Вы можете попробовать что-то вроде этого:

- setup script checks permission on configuration files at startup
- if the files are not writeable, ask user to manually set permission manually (using FTP)
- after setup finishes the execution, use `chmod` command to make the files not writeable
- after the setup is completed, ask the user to delete the setup scripts for security reasons (so the setup is not run again by someone else)

Вы можете использовать chmod для изменения разрешения папки / файла:

// Everything for owner, read and execute for others
chmod("/somedir/somefile", 0755);

http://php.net/manual/en/function.chmod.php

...