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です(理由は不明、ご存知の方、教えてください…)