У меня есть решение для вас, но я не гуру безопасности, поэтому используйте это решение только на своем локальном хосте, и если ваши данные не чувствительны, такие как номера кредитных карт, медицинская информация и т. Д. Возможно, некоторые другие эксперты здесь комментируют это.
Имеет значение, если вы сами вызываете php на консоли или если вы вызываете тот же php-файл через локальный веб-сервер.Я обнаружил, что мой mac (lion) запускает php через веб-сервер как пользователь «localaccounts».
Затем я решил проблему следующим образом:
Шаг 1: Измените группутекущий каталог и файлы, которые необходимо изменить через веб-сервер, в группу под названием «localaccounts».Например, введите следующую команду в терминале, чтобы применить ее к текущему каталогу, подкаталогу «user images» и файлу foo.sqlite.
chgrp -R localaccounts . foo.sqlite user\ images/
Шаг 2. Предоставьте членам группы разрешение на запись с помощью запятой
chmod g+w -R . foo.sqlite user\ images/
Обратите внимание, что точка означает текущий каталог.
Я пытался сделать то же самое на своем веб-хостере, но они не позволяют это таким образом.Вместо этого они посоветовали мне использовать PHP CGI.PHP будет выполняться так же, как мой доступ пользователя FTP.Я думаю, это более безопасно, но я еще не пробовал.