【CakePHP】CSSが反映されない場合の対処法まとめ
概要
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();
}
と追加しましょう。
最後に
一回サーバーをシャットダウンして、また立ち上げてみるのもありだと思います。
これだけ対策があるのでハマっている方は試してみてください。
Author And Source
この問題について(【CakePHP】CSSが反映されない場合の対処法まとめ), 我々は、より多くの情報をここで見つけました https://qiita.com/nagimaruxxx/items/74daf381b1178fbbb57a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .