Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RuntimeException : Cake\Cache\Engine\FileEngine is not properly configured in CakePHP 3

I have written an application in CakePHP 3.2 and recently uploaded to a dedicated server.

But this is giving RuntimeException error as

Cache engine Cake\Cache\Engine\FileEngine is not properly configured.

Warning: file_put_contents(/var/www/html/logs/error.log) 
[function.file-put-contents]: failed to open stream: Permission denied in
/var/www/html/vendor/cakephp/cakephp/src/Log/Engine/FileLog.php on line 134

I tried with changing permission of logs and tmp directory to 777 (including sub directories) but this doesn't solve the issue.

output of ls -la

drwxr-xr-x. 13 root   root    4096 Oct 22 02:39 .
drwxr-xr-x.  4 root   root      43 Oct 12 20:12 ..
drwxr-xr-x.  2 root   root      63 Oct 21 15:08 bin
-rw----r--.  1 root   root    1499 Oct 21 15:08 composer.json
-rw----r--.  1 root   root   48701 Oct 21 15:08 composer.lock
drwxr-xr-x.  3 root   root    4096 Oct 21 15:08 config
-rw----r--.  1 root   root     329 Oct 21 15:08 .editorconfig
-rw----r--.  1 root   root     772 Oct 21 15:08 .gitattributes
-rw----r--.  1 root   root      41 Oct 21 15:08 .gitignore
-rw----r--.  1 root   root     159 Oct 22 03:02 .htaccess
-rw----r--.  1 root   root     648 Oct 21 15:08 index.php
-rw-r--r--.  1 apache apache    20 Oct 13 00:10 info.php
drwxrwxrwx.  2 root   root      46 Oct 22 02:30 logs
drwxr-xr-x.  2 root   root      10 Oct 21 15:08 mobile_scripts
-rw----r--.  1 root   root    1202 Oct 21 15:08 phpunit.xml.dist
drwxr-xr-x.  3 root   root      37 Oct 21 15:08 plugins
-rw----r--.  1 root   root    1015 Oct 21 15:08 README.md
drwxr-xr-x.  8 root   root    4096 Oct 21 15:13 src
drwxr-xr-x.  4 root   root      71 Oct 21 15:13 tests
drwxrwxrwx.  6 root   root      76 Oct 21 15:13 tmp
-rw----r--.  1 root   root     321 Oct 21 15:08 .travis.yml
drwxr-xr-x. 21 root   root    4096 Oct 21 15:14 vendor
drwxr-xr-x.  5 root   root    4096 Oct 21 15:24 webroot

What could be the cause and how to resolve it ?

like image 701
Anuj TBE Avatar asked Mar 17 '26 06:03

Anuj TBE


2 Answers

I had the same problem. It can be due to the permission of logs and tmp directories. But sometimes, if your web server user is different from your command line user, you can have this permission error !

You can run this little command in the project's directory :

HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\  -f1`  
setfacl -R -m u:${HTTPDUSER}:rwx tmp    
setfacl -R -d -m u:${HTTPDUSER}:rwx tmp    
setfacl -R -m u:${HTTPDUSER}:rwx logs
setfacl -R -d -m u:${HTTPDUSER}:rwx logs  

It will setup permission properly !! Don't forget to restart apache services :

service apache2 restart

If you want to check this : https://book.cakephp.org/3.0/en/installation.html

I hope it will be helpfull !! :D

like image 120
Nico D. Avatar answered Mar 19 '26 00:03

Nico D.


I got it working. For someone if get stuck with this error can try this solution.

I am using centOS Server

disabling SELinux worked for me.

like image 38
Anuj TBE Avatar answered Mar 19 '26 01:03

Anuj TBE



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!