朝起きたらこのサイトがSQLのエラーを吐いて見られないじゃないですか・・・。#__session テーブルが壊れたようです。
もし、あなたのJoomla! サイトで、こういう事があっても慌てる必要はありません。
対応
これで復旧します。
自分のサイト用のエクステンションを急いで作成するときは、大抵、フロントエンドで稼働することを目標に作成しています。なので、裏は、張りぼてだったりすることもあります。へたすると、データは、エディタで作成してphpMyAdminでインポートし、管理画面を作成していなかったりすることもあります。でも、自分だけで使うならそれで十分です。
やっと、Joomla!1.5化できました。何はともあれ、完了できたようです。サーバーを変更して勝手も変わったのでとまどったところもありましたが、何とか形になったように見えています。やはり、アップグレードは、大変ですね。記事のヒット数などは、少し前に戻りましたが、なるだけ最新のデータを適用するようにはしてみました。もしかするとまだ、前のサイトが表示されている方もいるかもしれませんけど。
ですが・・・まだ、未完了部分もあります。現在これを書いている時点では、demoサイトがまだですし、大雑把には完了していますが、まだチェック仕切れていない事もあります。何か不具合を発見されたら、お手数ですがご一報ください。
いったい何を言い出すんだって?
そりゃ必要ですよ。
いや、編集がとにかくできれば良いわけで例えば、CSVフォーマットだけでやり取りをするとか、XML-RPCの端末も一例ですが、バックエンドでアイテム(記事や他のもの)を編集できなきゃいけないわけでは無いですよね。
例えば特定のサイトを作成するときデータベースを編集して作成することがありますが、それと同様にクライアントが特定のものしか編集しないとか、フロントエンドだけだとかの場合、バックエンドでアイテムを編集する機能が必要ない場面ってあると思います。そんなときは、バックエンドを作成しないことにする。
そうすれば、手間も減らせるし、コストも減る(たぶん・・・ぉぃ)
開発者用(そうでなくても)にこんなのどうだろう。(もうすでにあるかもしれないが)
CSVでインポートするもの(これはあるのは知っている)。
と、phpMyAdminでできるからいらないか・・・。もっと早くきづけよ。
しょうもない独り言でした。
1週間くらい前からだろうか、次のバージョンのJBackup(早くしなきゃ)の最終テストとしながら、ダミー記事20,000タイトル(1タイトル、2000ワード。SQLデータで260MBにもなる。)をテスト用Joomla!1.5に入れ何度もテストを行っています。ところが、何度やってもなかなかサイトが表示されない。おかしい。あまりにも遅い(表示に5分以上かかる)のでプラグインをオフにしてみた。・・・でも、遅いではないか。えっ!これってJoomla!の限界!?
20,000タイトルごときで、と思う方もいるかもしれない。・・・まあ、20,000タイトルなんてそんなサイトなかなか無いと思うが、記事としてではなく、データとして20,000以上あるものは、ざらにあるのではないか。
そこで、何が原因か少し設定を変えて試してみた。
あら、あっさりと、速くなったではないか・・・。そこで一つずつオフにしたモジュールをオンにしていった。で、オンにしたら極端に遅くなったモジュールを列挙。
対策を考えて、そしてその対策を行った結果、104秒かかっていた処理時間が、1秒になった。なんと104分の1です。んだこれ。mod_latestnewsもmod_mostreadも同様なので208秒(3分28秒)くらいかかっていた時間が、2秒です。3分もサイトが表示されるのを待っている人なんてクリックしてから、「ご飯だよ~。」と呼ばれた人くらいのものだ。
で、その対策は以下
$query = 'SELECT a.*,' .
を
$query = 'SELECT a.title, a.access, a.sectionid,' .
のように変更するだけです。
念のため、phpMyAdminでも変更前のクエリで実行してみたらほぼ同じように104秒前後の結果でした。
クエリは、必要なフィールドだけにしましょう。(気をつけようっと)
これってJoomla!1.5(もしかしたらうちの1.0.xも・・)を使っている方すべてに言えることなのでこの対策をするだけで少しはみなさんのサイトも速くなるかもしれませんね。しかし、もっと効率の良い方法が、無いものなのか考えどころですね。もっとHackしてしまったらもう少し速くなると思いますが、Hackする部分が多くなってしまいますのでこのあたりにしておきます。