Короткий вариант вопроса:
Какая разница между
get_current_user();
и exec('whoami');
?
Длинная версия вопроса:
- Я нахожусь на XAMPP Localhost на Mac.
- Я использую Apache, создавая PHP (позвоните ему folderxyz) в пределах htdocs (var/www в некоторых вариантах Linux + Apache).
- Я играл с подключением к базе данных, тестирование PDO:: ERRMODE_EXCEPTION, описанное здесь: Ссылка
И я получил эту ошибку:
file_put_contents (PDOErrors.txt): не удалось открыть поток: Разрешение отказано в...
Итак, я немного поработал, и мне кажется, что для исправления этого мне нужно изменить настройки CHMOD
файла PDOErrors.txt на 777.
Однако мои вопросы касаются чего-то еще.. В ходе этого процесса я понял, что я не понимаю концепцию user
в Apache, PHP и MySQL.
- В руководстве по PHP говорится, что
get_current_user()
"Получает имя владельца текущего PHP скрипт" Ссылка - В руководстве по PHP говорится, что
exec('whoami')
возвращает "имя пользователя, которому принадлежит запущенный процесс php/httpd" Ссылка - Когда я использую
get_current_user()
, я получаю свойfirstnamelastname
, который является именем моей учетной записи на моем Mac. - Когда я использую
exec('whoami')
, я получаюdaemon
.
Так...
- Какая связь между
firstnamelastname
иdaemon
? - Какая связь между "владельцем текущего PHP script" и "именем пользователя, которому принадлежит запущенный процесс php/httpd"?
- Кому нужно разрешение на запись в PDOErrors.txt? Это
firstnamelastname
илиdaemon
? - Кому нужно разрешение на запись в PDOErrors.txt? Это Apache или PHP (или оба)?
- Существует ли понятие фактора unix-like
root
в любом месте?
Изменить: я обновил это, чтобы отразить, что для меня не было параметра folderxyz, для которого я должен был изменить настройки CHMOD. Мне пришлось изменить настройки для файла PDOErrors.txt
OP здесь: для дальнейшего использования я задал параллельный вопрос для платформы Linux здесь (с сопроводительным интуитивным объяснением того, что происходит): qaru.site/info/497342/...