wordpressで更新をかけて失敗してもう一度更新をかけたりすると「別の更新が現在進行中です。」なんて文言が出てきて15分ぐらいしないと再度更新処理ができないという仕様がかなりイラッとするけど設定で回避策がなさそうだから直接コードを書き換えるの巻

このサイトはwordpressを使っている。ときどきwordpress本体の更新がかかるが、更新をかけてから、何らかの理由で処理が失敗することがある。で、そのあともう一度更新をかようとすると「別の更新が現在進行中です。」という文言が出てくる。何度更新ボタンを押してもだめ。「しばらくしてから」って、いったいどのくらいだよって思ってググると、みなが口を揃えて「15分ぐらいしないと」と記載している。しかし、急いで更新して外出したいのに、そんな15分なんてハンパな時間は待ってられない!重複して更新処理が走るのを回避しているという実装はわかるが、自分一人でしか面倒みてないブログなので、ぶっちゃけイラッとするのだ。ということで、強制的に処理を進めさせるべく、コードを一部修正して更新を継続させる。 “wordpressで更新をかけて失敗してもう一度更新をかけたりすると「別の更新が現在進行中です。」なんて文言が出てきて15分ぐらいしないと再度更新処理ができないという仕様がかなりイラッとするけど設定で回避策がなさそうだから直接コードを書き換えるの巻” の続きを読む

jQuery UI Dialogでモーダルダイアログボックスを出して入力内容をフォームでPOSTしようとしたが全然POSTされない、強制的にsubmit()してもサーバ側にPOSTデータはまったく送信されず…なぜ!?

フォーム入力させてPOSTで送信……というのは普通に実装する内容だが、これをダイアログボックスで実装するとカッコイイ。ということで、手ごろなところでjQuery UI Dialogを使うことにしている。以前にも使った経験があり実績があるので(後述)、これで実装しようとしたら、いや1日ハマってしまったのである。 “jQuery UI Dialogでモーダルダイアログボックスを出して入力内容をフォームでPOSTしようとしたが全然POSTされない、強制的にsubmit()してもサーバ側にPOSTデータはまったく送信されず…なぜ!?” の続きを読む

CakePHPで現在のクラス名を取得すると単数形になっている、しかしこれを複数形に変換しないとViewでコントローラーを指定できないので

CakePHPを使っていて、View側でメソッド名やコントロール名を取得して処理をしたいという場面が出てきた。取得そのものは$this->actionや$this->nameでそれぞれ取得が可能なのだが、$this->Html->url()で指定するコントローラー名は複数形で指定する必要があるらしく、しかし$this->nameで得られるのは単数形の状態。「複数形は単純に後ろにsをつけましょう」などといった中学英語の初歩では通用するはずもなく、さりとて自分で複数形データーベースを作って変換関数を用意するなんて気が遠い……。いや、そもそもCakePHPではそれを処理しているんだから絶対に関連した関数なりメソッドが提供されているに違いない、と思ってマニュアルを紐解くと、やはりあった。 “CakePHPで現在のクラス名を取得すると単数形になっている、しかしこれを複数形に変換しないとViewでコントローラーを指定できないので” の続きを読む

「いまさらRuby」「いまさらC#」に続いて「いまさらPHP」はじめます、棚にないと思ってたオライリーのPHP本が見過ごしだったらしくたまたま目に留まったのでゲット!

言語仕様に誘われて「いまさら」いくつかの言語を再学習、というのが昨今の自分のブームになってしまった。いまさらRubyしかり、C#しかり。PHP
も言語仕様はちゃんと理解しておきたいと思いつつ本を探したら棚になく……注文するために翌日再度本屋に行ったら、あれ棚にありました~。もっと分厚い本かと思ったら、案外薄かったのねん。 “「いまさらRuby」「いまさらC#」に続いて「いまさらPHP」はじめます、棚にないと思ってたオライリーのPHP本が見過ごしだったらしくたまたま目に留まったのでゲット!” の続きを読む

memcachedは入れたがPHPでmemcacheを利用できるようにするためにmemcache.soをインストールする必要があったらしい、しかしyum list|grep memcahceしてもphp53-pecl-memcacheとか出てこないからまたしても手動でやるのです

先日はmemcachedをCentOS 5.10 Finalにインストールするのにyumが使えずtarballを手動でインストールする苦行をしたのだが、これだけではPHPでmemcacheを利用することができない(そりゃ当然か……)。これをできるようにするためにはmemcache.soがなければならないのだが、これまたyum listしてみてもphp-pecl-memcacheしかなくてphp53版が見当たらない。どういうことよ……(怒)。ということで、これまた手動インストールをすることになった。 “memcachedは入れたがPHPでmemcacheを利用できるようにするためにmemcache.soをインストールする必要があったらしい、しかしyum list|grep memcahceしてもphp53-pecl-memcacheとか出てこないからまたしても手動でやるのです” の続きを読む

CakePHP2.4からAuthComponentのパスワードのハッシュ化の扱いが仕様変更され、デフォルトではSimplePasswordHasherというクラスを用いてハッシュ化されるらしいので、従来のハッシュ値と変わってしまってログインできないというハマリどころに数日悩まされた、あとuserModelに騙されて

CakePHP2系はずっと使っていて、Authコンポーネント(AuthComponent)も使って認証画面を実装することも、ままあった。今回またCakePHPを使って認証画面の実装を行おうとしたら、なぜか認証がいくらやってもうまく通らない。パスワードは事前にハッシュ化してテーブルにINSERTしているし、カラム名の指定も間違ってない。不安になりながら過去成功していたソースと見比べてみても、まったく同じように実装している。なのに認証が通らない。アカウントがあることは認識できているのでデータベースの設定などの問題でもテーブル構成の問題でもない。となると一体何なんだろうか……悩みぬいて数日(いや1週間ぐらいか)、ハマッたのである。あとuserModelオプションにはすっかり騙された。 “CakePHP2.4からAuthComponentのパスワードのハッシュ化の扱いが仕様変更され、デフォルトではSimplePasswordHasherというクラスを用いてハッシュ化されるらしいので、従来のハッシュ値と変わってしまってログインできないというハマリどころに数日悩まされた、あとuserModelに騙されて” の続きを読む

PHP5.1.6のsource tarballを探していたがなかなか見つからずも、ようやくOld Archivesページを見つけてゲットできる

いや私が見えてなかっただけなのだが、PHPのサイトからPHPの古いsource tarballを探そうとしてもなかなかたどり着かず、Googleで検索しても出てこなかったが、ふと目を右ペインのメニューに移したらOld Archivesがあったという話。 “PHP5.1.6のsource tarballを探していたがなかなか見つからずも、ようやくOld Archivesページを見つけてゲットできる” の続きを読む

CakePHP2でメール送信を手軽に行うための実装CakeEmailを使ってみたら本当に簡単すぎて便利、メールフォームがなくてもメール送信機能だけで

CakePHP2では、電子メールを使うための機能として標準提供されている「CakeEmail」という実装がある。この実装は簡単な設定だけでメール送信が実現できるというものだ。UNIX系OSであればローカルのメール配送システムを使うことも出来るし、SMTPサーバを指定して他のメール配送システムを利用してメールを送信することもできる。app/Config/database.phpのように複数の設定を記述しておき、利用時に選択することもできる。パラメータを使用時に調整することもできる。などなど、いろいろと便利に出来ているのだ。 “CakePHP2でメール送信を手軽に行うための実装CakeEmailを使ってみたら本当に簡単すぎて便利、メールフォームがなくてもメール送信機能だけで” の続きを読む

[自分用メモ] CakePHPでラジオボタンの実装をしようとしてドキュメントを見ながら作業したが非効率なので次回忘れることを危惧して備忘録的に書き残しておく

仕事でCakePHPを使うことがあるが、しばらく使わないでいるといろいろなことを忘れてしまう。Formヘルパーのラジオボタンの実装をする場面に出くわしたのだが、ドキュメントを見ても説明がまばらというか、あっち読みこっち読みとつまみ食いしながら実装していると、時間が無駄に経過してしまう。なので、自分用メモとしてある項目を残すようにときどき記事を書いている。今回はCakePHPでのラジオボタンの実装。 “[自分用メモ] CakePHPでラジオボタンの実装をしようとしてドキュメントを見ながら作業したが非効率なので次回忘れることを危惧して備忘録的に書き残しておく” の続きを読む