: Do PHP-FPM (and other PHP handlers) need execute permissions on the PHP files they're serving? I read in a post at Server Fault that PHP-FPM needs execute permissions. However, the answer in
I read in a post at Server Fault that PHP-FPM needs execute permissions. However, the answer in When creating a website, what permissions and directory structure? only grants read and write permissions to PHP-FPM. Maybe I don't quite understand how PHP handlers (or CGI in general) work, but the two claims seem contradictory to me.
As I understand, when Apache / Nginx gets a request for foobar.php, it "passes" the file to an appropriate handler. That is, I imagine it's as if www-root (or apache or whomever the webserver's running as) were to run some command,
/usr/sbin/php-fpm foobar.php
Actually, no, that's naive, I just realized. PHP-FPM must be a running instance (if it's to be performant, and cache, etc.), so probably PHP-FPM is just being told, "Hey, quick, process this file for me!"
In either case, I don't see why execute permissions are necessary. It's not like the webserver needs to literally execute the file, i.e.
./foobar.php
Is the Server Fault answer simply mistaken?
More posts by @Kimberly868
2 Comments
Sorted by latest first Latest Oldest Best
You are correct - the file does not need to be 755 executable. The file being passed to PHP-FPM should have permissions set to 644 (owner read/write, group read, global read). This is especially needed on shared hosting so that others can not overwrite your files.
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.