Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

PHPのstatキャッシュ PHPにはCurrentStatFileという内部管理用の変数があり、直前のstatシステムコールの結果を1件だけ覚えています。これはたとえば次のような状況で使われます。 <?php mkdir("foo"); var_dump(is_dir("foo")); // bool(true) var_dump(is_dir("foo")); // bool(true) パッと見ではわかりませんが、実は上記プログラムのis_dir()の内部処理は1回目と2回目とで異なっています。1回目は真面目にstatシステムコールを呼んでfooがディレクトリかどうかOSに問い合わせているのですが、2回目の呼び出しではシステムコールを呼ばず、直前のシステムコールが返した値を使い回すという挙動になっています。本稿ではこのキャッシュのことをstatキャッシュと呼ぶことにします。 以下の関
これはなに? 古いPHPを使用しているサービスだと、5.6+にマイグレーションする際にもAPCを使いたいという要望が多い。 PHP5.5+でなぜAPCではなくZend OPcacheやAPCuを使うようになったのか? そもそもZend OPcacheやAPCuってなんなのさ! って説明できるようになるために調べてみました。 APCとZend OPcache/APCuの関係 APCが機能として持っている opecode cache機能とdata cache機能を PHP 5.5+では opecode cache : Zend OPcache data cache : APCu で提供するようになりました。 そうなった経緯 経緯が綺麗にまとまったサイト。 https://www.devside.net/wamp-server/installing-apc-for-php-5-5 ざっくりまとめ
CakePHPではパフォーマンス向上のため、app/tmp/cacheにキャッシュファイルを持っている。 core.phpのデバッグレベルを0にした状態で、テーブル定義を変更すると、テーブル定義のキャッシュと不整合のためエラーになる場合がある。 デバッグレベルを0にした状態(本番環境)でテーブル定義を変更した場合の対策をまとめる。 1.デバッグレベルを1以上にしてアクセス デバッグレベルを1以上の場合、都度キャッシュファイルが書き換わるので。 2.app/tmp/cache配下のキャッシュファイルを削除 まんまキャッシュファイルを削除 3.キャッシュファイル削除用のコンソールを作成実行 デプロイ時にコンソールを実行してキャッシュを削除する。 自分のところではこれを採用している。 class CacheClearShell extends AppShell { function main()
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く