PHP FPM gives permission denied?
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...
This generally happens. When the
user setting in nginx.conf is changed from
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.
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
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