おそらく架空のストーリ プログラマ「プログラムを更新しました」 テスター「いきなりエラーがでますよ!動作確認したんですか!」 プログラマ「え、私のところでは動くけど…、キャッシュクリアしました?」 テスター「キャッシュをクリアしたらエラーがでなくなりました」 テスター「でも、ユーザ全員にキャッシュをクリアさせるの?」 今日、JavaScriptやCSSの更新時にキャッシュから読ませない方法を知りました。 先人達は偉大すぎます。 <link href="common.css" rel="stylesheet" type="text/css"> この記述だとサーバ側の「common.css」を更新しても、 クライアント側のキャッシュの「common.css」が使用されて、 サーバ側の変更が反映されない可能性があります。 これをcssやjsにクエリー文字列を付加することで、 「common.cs
問題の現象 CGI 管理画面 ( admin/admin.cgi や admin/index.cgi ) にアクセスすると「500 Internal Server Error」 (インターナルサーバエラー、内部サーバエラー) が出る。 類似の現象 「403 Forbidden / 許可されていません」というエラーが出る場合はこちらを参照して下さい。 書き出したHTMLページにアクセスした時にこのエラーが出る場合はこちらを参照して下さい。 Windowsサーバ IIS (Internet Information Server) をお使いの場合でメッセージが「サーバ内部で障害が発生し、リクエストに応えることができませんでした」と表示される場合はこちらを参照して下さい。 今まで使えていたのにある日突然エラーが出るようになった場合はこちらもご参照下さい。 「すぐ使えるCMS」のCMS入力画面で画像
ファイルをダウンロードするときのヘッダーは次のようになります。 header('Last-Modified: '. gmdate('D, d M Y H:i:s') .' GMT'); header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.$file_name.'"'); header('Content-Transfer-Encoding: binary'); header('Content-Length: ' . filesize($file_path)); [参考記事] SSL(HTTPS)でファイルのダウンロードができない場合 ダウンロード時の
とあるダウンロード機能で、Firefox だと文字化けするという現象の調査依頼。IE だと日本語を含むファイル名も意図した名前でダウンロードできが、Firefox だとファイル名が文字化けしてしまう。 どうやら、Content-Disposition レスポンスヘッダについたファイル名 (attachment; filename) のエンコーディングの解釈が IE と Firefox で違うらしい。EUC-JP のページにダウンロードするリンクがあるとき、Firefox は filename の値が EUC-JP で書かれていると判断し、IE は Shift-JIS で書かれていると判断する模様。 問題となったアプリでは、filename の値を明示的に Shift-JIS に変換していたので、IE で O.K.、Firefox で NG となった。 とりあえず該当アプリでは、USER_A
最近、ささみの燻製にはまりつつある常時減量中のfukasawaです。こんにちは。 スモークチーズみたいな味で、食べごたえもあって美味しいです。どこのスーパーにも置いているわけではないようなのですが、サラダチキンに飽きてしまった方は見かけたら是非試してみてください。 さて、CakePHPには1回限りの通知をユーザに表示するフラッシュメッセージという機能があります。例えば、ユーザがブログ記事を投稿した際に「投稿完了しました。」のようなメッセージを表示する際に便利な機能なのですが、使用していると「関係のない画面にメッセージが表示された」とか「メッセージを表示して欲しいタイミングで表示されない」といったトラブルに悩まされることがあります。 そのようなトラブルに遭遇した際、フラッシュメッセージの動きを把握していないと何処に原因があるのかを特定できず、解決するまでに時間がかかってしまったりといった状況
PHP Advent Calendar jp 2011 7日目担当の @scriptwork です。 DateTimeクラス は PHP5.3 で日付や時刻の加減算を行う add / subメソッド や 差分を計算する diffメソッド などが追加され、日付と時刻を取り扱う面倒な処理をサポートしてくれるクラスです。 DateTimeクラス が実装されるまでは PHP関数 の strtotime() と date() で日付と時刻の加減算を行なっていましたが、2038年問題 への対応もあり、新しくコードを書くなら DateTimeクラス を使うのが良さそうですね。 とはいえ、現在の PHP5.3.8 と PHP5.4.0RC2 の DateTimeクラス は 日付の加減算 で strtotime() と 同じ問題 をかかえていますので、使い所を押さえておく必要があります。 DateTimeク
一年くらい前から git を使い始め、ここ半年くらいは毎日の開発に git を使っています。昨日 git stash という機能を使っている時に失敗してしまい、何人かの方にアドバイスいただくことによって無事回復することが出来たので、感謝の印として、そして運悪く同じ問題に遭遇してしまった人たち(私もまたやるかも)へのメモとして記しておきます。 御託はいいから、早く回復法を知りたい人のためのまとめ $ git fsck | awk '/dangling commit/ {print $3}' 候補の sha1 がいくつか出てくる(長く開発していると、結構多く候補が出てきます) $ git show --summary 候補のsha1 一つ一つの sha1 の内容を確認 $ git cherry-pick -n -m1 見つけたsha1 いきさつ 私の作業のやりかたでは、 タスク毎にブランチを切
日本語が入った正規表現を使って検索、置換を行うには preg_match , preg_replace を使う その際文字化けが起こってしまうことが多いが、原因は【/】をエスケープし忘れている ところにあると思うので、【/】はきちんとエスケープしよう。 1 日本語エンコードを指定する mb_regex_encoding('UTF-8'); // もしくは SJIS, EUC-JP 2 検索する文字( $find_text )と区切り文字(/)はあらかじめエスケープしておく $find_text = preg_quote($find_text, '/'); 3 正規表現を使って置換を行う $string=preg_replace("/($find_text)/", "置換する文字列",$string ); これで文字化けもおこらないと思います。 エンコードUTF-8で日本語を使う場合は u
CakePHP Advent Calendar 2010 に参加しています。 昨日の mon_sat さんからバトンを受け取ってこの記事が11日目。 さてタイトルのとおり CakePHP で Debug Level を 0 にしてるときだけエラーが発生する というよくわからないことが起きました。 結局は単なる実装ミスだったんだけど、 忘れないように書いておきます。 何が悩ましいのか CakePHP では Configure::write('debug', 0); としておくと本番モードになって エラーが出力されなくなりますね。 デフォルトで app/configure/core.php に書いてあるやつ。 だいたい開発中はデバッグレベルを1か2にするわけですけど、 その間は何の問題もなく動いてたのに 0にしたらいきなりエラーが出るという わけのわからない不具合が発生しました。 逆ならわかる
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
何か変なqueryをMySQLに投げてしまって 2012-05-26 18:23:21 Error: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`test`.`user_logs`, CONSTRAINT `user_logs_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`)) みたいな感じでPDOExceptionが発生した場合に、どんなSQLを実行したのかがわからなくて困ったので調べた。 debugモードであればqueriesLogに保存されてそれを覗けばわかるのだけど、本番だとqueriesLogには保存されないのでそれだと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く