LoginSignup
5
1

More than 5 years have passed since last update.

【CakePHP】CSSが反映されない場合の対処法まとめ

Last updated at Posted at 2018-04-11

概要

CakePHPでビューを作っている時に、CSSが反映されなくなった場合の対策法まとめです。ちなみに筆者は下記の対策を全部しましたが、結局反映できず嫌になってしばらく放置して戻ってきたら直ってました。何が原因だったのはわからないのでやったこと全部リストにしましたので参考にしてください。

原因

ブラウザにキャッシュが残っているから

対策

①ブラウザのキャッシュを削除する

アプリを確認するのに使うブラウザのキャッシュを削除します。Chromeでは履歴削除でキャッシュが消せます。

②app/Config/core.phpの編集

下記、コメントアウトされているはずなのでコメントアウトを外します。


Configure::write('debug', 2);
Configure::write('Asset.timestamp', true);

//debug = 0 の時
Configure::write('Asset.timestamp', 'force');

③Apacheの設定を変える

cd /etc/httpd/conf
sudo vi httpd.conf

でファイルを開き、

EnableMMAP off        //これでも解決しなかったらさらに
EnableSendfile off

というのがコメントアウトされてるので有効にしましょう。また、

<Directory "/var/www/html">
    Options FollowSymLinks
    AllowOverride All
</Directory>

該当箇所が上記のようになっていなければ直しましょう。

sudo service httpd reload

で再起動してくださいね。

④アプリに蓄積されるキャッシュを消す

/app/tmp/cache/以下のディレクトリ(modelsとかviewとか)にキャッシュが入っているので、全て削除してしまいましょう。

⑤コントローラーのbeforeFilterを編集

コントローラの中に、

public function beforeFilter()
{
     parent::beforeFilter();
     $this->response->disableCache();
}

と追加しましょう。

最後に

一回サーバーをシャットダウンして、また立ち上げてみるのもありだと思います。
これだけ対策があるのでハマっている方は試してみてください。

5
1
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
5
1