Нужно ли PHP-FPM (и другим обработчикам PHP) выполнять разрешения на файлы PHP, которые они обслуживают?

Я прочитал в сообщение об ошибке сервера , которое требуется PHP-FPM выполнить . Тем не менее, ответ в При создании веб-сайт, какие разрешения и структура каталогов? предоставляет только читать и писать разрешения для PHP-FPM. Возможно, я не совсем понимаю, как работают обработчики PHP (или CGI в целом), но эти две претензии кажутся мне противоречивыми.

Как я понимаю, когда Apache /Nginx получает запрос на foobar.php, он «передает» файл соответствующему обработчику. То есть, я думаю, это как если бы www-root (или apache или кто бы ни работал веб-сервером), чтобы выполнить некоторую команду,

/usr/sbin/php-fpm foobar.php

На самом деле, нет, это наивно, я просто понял. PHP-FPM должен быть запущенным экземпляром (если он должен быть исполненным, кешем и т. Д.), Поэтому, возможно, PHP-FPM просто сказал : «Эй, быстро, обработайте этот файл для меня! «

В любом случае я не понимаю, почему необходимы разрешения выполнить . Это не похоже на то, что веб-серверу требуется буквально выполнить файл, i.e.

./foobar.php

Ответ на ошибку сервера просто ошибочен?

1 голос | спросил Andrew Cheong 28 AMpMon, 28 Apr 2014 07:47:39 +040047Monday 2014, 07:47:39

2 ответа


3

Нет, php-fpm пользователю НЕ нужен execute для файлов PHP. Ему требуется только разрешение на чтение, так как файлы PHP анализируются с помощью препроцессора PHP и не выполняются .

ответил phoops 28 AMpMon, 28 Apr 2014 11:34:40 +040034Monday 2014, 11:34:40
1

Вы правы - файл не должен быть 755 исполняемым. Файл, передаваемый PHP-FPM, должен иметь разрешения, равные 644 (чтение /запись владельца, чтение группы, глобальное чтение). Это особенно необходимо на общем хостинге, чтобы другие не могли перезаписать ваши файлы.

ответил Dave Lozier 7 J0000006Europe/Moscow 2014, 07:30:33

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132