PHP FPM gives permission denied?
Solution 1:
I had set the /var/lib/nginx/tmp to ec2-user/ec2-user (i even +777 everything to check)
But ... I also had to set /var/lib/nginx to ec2-user/ec2-user
... after also chown/chgrp the parent nginx folder : no more errors.
Took me some hours...
Solution 2:
This generally happens. When the user
setting in nginx.conf is changed from
user nginx;
to something else. In this case,
user ec2-user ec2-user;
The chmod command is not necessary per Chris's comment, and could open up a security hole.
Solution:
Check the current user and group ownership on /var/lib/nginx.
$ ls -ld /var/lib/nginx
drwx------ 3 nginx nginx 4096 Aug 5 00:05 /var/lib/nginx
This tells you that a possibly non-existant user and group named nginx
owns this folder. This prevents file uploading.
Change the folder ownership to the user defined in nginx.conf in this case ec2-user
(sudo may not be required).
$ sudo chown -Rf ec2-user:ec2-user /var/lib/nginx
Verify that it actually changed.
$ ls -ld /var/lib/nginx
drwx------ 3 ec2-user ec2-user 4096 Aug 5 00:05 /var/lib/nginx
The permission denied error should now go away. Check the error.log (based on nginx.conf error_log location).
$ sudo nano /opt/nginx/error.log
If that doesn't work you might need to reload nginx and php-fpm.
$ sudo service nginx reload
$ sudo service php-fpm reload
Solution 3:
None of the other solutions worked for me, but I found this to work:
$ apt-get install php-pear php5-dev
$ pecl install timezonedb
$ echo 'extension=timezonedb.so'> /etc/php5/mods-available/timezonedb.ini
$ ln -sf /etc/php5/mods-available/timezonedb.ini /etc/php5/conf.d/30-timezonedb.ini
$ service php5-fpm restart
Source