LoginSignup
1
2

More than 5 years have passed since last update.

CakePHP3:File Cacheを使う場合のパーミッションについて

Last updated at Posted at 2016-12-29

3.3.11で確認しました。

apacheだけでなく、Shellを使ってプログラムを実行する場合の注意点です。デフォルトの設定ですと
apacheユーザが作成したcacheファイルのパーミッションは655のため他のユーザ(例えば、ec2-user)が書き込むことができません。

対策1:sudoでShellを実行する

sudo -u apache /var/www/html/app/bin/cake check_url

対策2:cacheファイルのmaskを0666に設定する 【注意:umaskではなくmaskです】

config/app.php
        '_cake_core_' => [
            'className' => 'File',
            'prefix' => 'myapp_cake_core_',
            'path' => CACHE . 'persistent/',
            'serialize' => true,
            'duration' => '+2 minutes',
            'url' => env('CACHE_CAKECORE_URL', null),
            'mask' => 0666, // ココと
        ],
        '_cake_model_' => [
            'className' => 'File',
            'prefix' => 'myapp_cake_model_',
            'path' => CACHE . 'models/',
            'serialize' => true,
            'duration' => '+2 minutes',
            'url' => env('CACHE_CAKEMODEL_URL', null),
            'mask' => 0666, // ココ
        ],

なお、0666を'0666'と記述するのはNGです(理由は不明、ご存知の方、教えてください…)

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2