2016-10-22 9 views
2

CakePHP 3.2でアプリケーションを作成し、最近専用のサーバーにアップロードしました。RuntimeException:Cake Cache Engine FileEngineがCakePHP 3で正しく構成されていない

しかし

キャッシュエンジンケーキ\キャッシュ\エンジン\ FileEngineが正しく設定されていないので、これはのRuntimeExceptionエラーを与えています。

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 

私は(サブディレクトリを含む)777にlogstmpディレクトリのパーミッションを変更してみましたが、これは問題を解決していません。原因である可能性がありますし、どのようにそれを解決するためにどのような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 

出力?

+0

新しいcakephpアプリのスケルトンhttps://github.com/cakephp/appで試したことがありますか? – makallio85

+0

ログフォルダが存在し、書き込み可能であることを確認してください。そして、なぜすべてが根元ですか?それはwww-dataまたはそれに類するもので、決してrootではありません。 – mark

+0

ログフォルダが存在し、書き込み可能でした。またグループはrootで、これは私がサーバ管理者から与えられたものであり、私はそれを変更する権利がありません。うまくいったことは 'SELinux'を無効にすることです –

答えて

1

私はそれを働かせました。このエラーが発生した場合、誰かのためにこのソリューションを試すことができます。

私はSELinuxを無効

が私のために働いたcentOSサーバーを使用しています。

-1

SELinuxの無効化についてのAnujの答えは、私にとってもうまくいきました。他のものを試してみると、これを見つけることができて嬉しく思っています。私はそれを無効にしたのではなく、むしろそれを強制的に「許容的」に変更したことを付け加えたかった。 CentOS 7でAWS T2インスタンスのCakePHP 2.4.2を実行しています。

+0

あなたを助ける他の回答についての回答を投稿しないでください - ちょっと答えをアップしてください。 –

3

私は同じ問題を抱えていました。 これは、logsおよびtmpディレクトリの許可が原因である可能性があります。 しかし、あなたのWebサーバーユーザーがコマンドラインユーザーと異なる場合、このアクセス許可エラーが発生することがあります。

あなたは、プロジェクトのディレクトリ内で、この少しのコマンドを実行できます。

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 

それはなります設定許諾適切に!! は、Apacheサービスを再起動することを忘れないでください:

service apache2 restart 

あなたは、このチェックしたい場合:https://book.cakephp.org/3.0/en/installation.html

を、私はそれが参考になっことを願っています! :D

0

私は同じ問題を抱えていました。これは、プロジェクトファイルに対して適切な権限を持っていないApacheと関係があるようです。

は、私は再帰的にすることで、Webサーバのユーザに所有者とプロジェクト全体のディレクトリのグループを設定することにより、それを解決するために管理:

HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1` 
sudo cd "your project directory" 
sudo chown $HTTPDUSER:$HTTPDUSER -R . 

を希望助けています!

関連する問題