アーカイブ

‘MySQL’ タグのついている投稿

E90で動くApache,MySQL,PHP

2007 年 11 月 17 日 seri コメントはありません

I can now reveal that we at the CCNC conference in Las Vegas in January, 2008 will demonstrate and release what we call the PAMP stack.

PAMP stands for Personal Apache, MySQL, PHP, so yes, the full LAMP stack will be made available for S60 smart phones. In addition, there will be PHP extension modules that provide access to the core functionality of the phone. And on top of PAMP you can basically install any LAMP based content management system. For instance, Drupal can be installed off the shelf.

Yes, a fair amount of memory is needed and it’s still pretty experimental stuff, but it runs quite nicely on E90.

Hot news: PHP and MySQL coming to S60!

NOKIA E90 Communicatorさんで知りましたが、S60で動くLAMP環境(PAMP:Personal Apache, MySQL, PHP)が来年1月にラスベガスで行われるCCNC conferenceで発表されるようです。Apacheが動いて、そのうえPHP、MySQLがE90上で動くとなれば、やれることが一気に広がりますね。Wikiをメモ帳代りにしたり、MySQLでDBを作ったり。来年1月は管理工学から+J for S60も出る予定なので、すごく待ち遠しいです。

カテゴリー: 電脳小物 タグ: , , , , ,

MT4をMySQL3.23で無理やり動かす

2007 年 9 月 13 日 seri コメント 1 件

なんとか過去ログのURLも含めて復旧終了。過去ログは98%くらいは以前のままのURLになったと思います。

事の発端はデザインを変えた後の再構築。再構築をかけてもまったく終わる気配がない。っていうか再構築されていない。一晩かけてもまったく終わらないのでいろいろいじってる内に完全におかしくなってしまったのでした(私が悪いんだけど)。

これとは別に、MT4に上げてから管理画面の記事一覧で、最初の20件は表示できるけど次の20件とかが表示できないという現象が発生していました。だけでもデフォルトの表示行数を100件とかにするとちゃんと表示できるのでDBが壊れているわけではなさそうだから、そのうち調べようと放置していました。

で、結果的には再構築できなかったのも記事一覧がちゃんと機能しなかったのも同じ原因でした。

再構築中のウィンドのソースを見ると、

mt.cgi?__mode=rebuild&blog_id=1&type=index&next=0&offset=&limit=~

という部分があり、このoffsetとlimitがあやしいんじゃないかとあたりをつけました。理由は、再構築したときも個別記事の最初の何件かはちゃんと再構築できていたから。

で、MovableTypeのソースからあやしそうな部分を探していったら、lib/MT/ObjectDriver/SQL.pmの263行目に

return sprintf "LIMIT %d%s\n", $n,
          ($o ? " OFFSET " . int($o) : "");

という部分がありました。SELECTの条件となるOFFSETの値を返すSQLを発行しているようですが、このサイトで使っているMySQLの書式では、

SELECT * FROM Table名 LIMIT offset値, 件数

だったはず(前にPHP+MySQLでいろいろ作っていた時に調べました)。しかし上記の書き方では、

SELECT * FROM Table名 LIMIT 件数 OFFSET offset値

になってしまいます。

で、さらに調べたところ、PostgreSQLでは後者の書式になっていて、MySQL4.0以降では互換性の為に後者の書式もサポートしているとのこと。そういえば、MovableType4の動作環境ってMySQL4.0以上でしたね。でもうちのMySQLは前に4.0.~に上げたはず・・・っと思って調べたら3.23.53でしたよ。あれ~?

いまさらMySQLのバージョンアップはメンドクサイので、SQL.pmの問題の個所を

return sprintf "LIMIT %s%d\n",
          ($o ? int($o) ." , " : ""), $n;

と書き換えて、無理やり書式を合わせてみました。とりあえずこれでちゃんと動くようなりました。

だけども、MySQLをバージョンアップしたほうがいいんだろうなぁ。

カテゴリー: Linux タグ: , ,