[PHP] 非公開領域にある pdf をダウンロードさせる

ログインとかしてないと pdf をダウンロードできないようにしようと思って、pdf を非公開領域に置いて、いかのようなコードを書いたんですよ。

そしたら https な環境で IE 8 からダウンロードできないってクレームががが…

IE5 – IE8 では https 環境で Cache-control:no-cache へっだが付いてるとダウンロードできないんですって…
Internet Explorer file downloads over SSL do not work with the cache control headers

そこで以下のようになおしました。

IE8めー

[PHP] eAccelerator で .phar インクルード時に Fatal error が発生する

[Tue May 07 13:29:34 2013] [error] [client 127.0.0.1] PHP Fatal error:  Uncaught exception 'PharException' with message '__HALT_COMPILER(); must be declared in a phar' in /path/to/wp/wp-content/plugins/nephila-clavata/includes/aws.phar:17\nStack trace:\n#0 /path/to/wp/wp-content/plugins/nephila-clavata/includes/aws.phar(17): Phar::mapPhar('aws.phar')\n#1 /path/to/wp/wp-content/plugins/nephila-clavata/includes/class-s3-helper.php(2): require_once('/path/to/wp...')\n#2 /path/to/wp/wp-content/plugins/nephila-clavata/plugin.php(32): require_once('/path/to/wp...')\n#3 /path/to/wp/wp-settings.php(195): include_once('/path/to/wp...')\n#4 /path/to/wp/wp-config.php(88): require_once('/path/to/wp...')\n#5 /path/to/wp/wp-load.php(29): require_once('/path/to/wp...')\n#6 /path/to/wp/wp-admi in /path/to/wp/wp-content/plugins/nephila-clavata/includes/aws.phar on line 17, referer: http://example.com/wp-admin/options-general.php?page=nephila-clavata

上記のように eAccelerator 有効になってる環境で *.phar ファイルを include すると Fatal Error が発生する場合。
eaccelerator.filter を設定して *.phar を対象外にして対応。

eaccelerator.filter = "!*.phar"

いや、APC 使えって話なんですけどね…