サイト運営など仕事の話から個人的な話題まで

顛末記

 やっと、どうにか、なりました。

 サイトのリニューアルで、こんなに、悪戦苦闘するとは、思いませんでした。一言で言えば、バージョンの違うソフトを組み合わせようとしたことで紆余曲折する羽目に陥ったのですが、なかでも、zox(ZenCart on XOOPS)の“機嫌の悪さ”には辟易しました。

 誰かの参考になるかもしれませんから、経緯を軽くまとめておきます。
 現在のサイトのペースになっているのは、XCLというコンテンツ・マネジメント・システムです。今年6月頃にリリースされたばかりの「2.2.1」というバージョンでした。また、移転したレンタルサーバーのSQLもPHPも同じように最新のバージョンでした。
 このため、このXCLにモジュールとして組み込むことができるソフトとの噛み合わせが悪く、すんなりインストールできたのはブログ・ソフトのXPressME(XOOPS用のWordPress)だけでした。

 zoxというEC用のCMSのインストールには、泣かされました。
 ZenCartというソフトは、自分でネットショップを作って運営するには、とても便利なソフトで、これまで5年ほど使っていました。そこで、リニューアルの今回もぜひ使いたいと思い、XOOPSに組み込めるzoxを選びました。
 XCLとの相性の問題、というよりも、サーバーのSQLやPHPのバージョンとの問題だったことは、インストールする際にsqlファイルが働かず、いちいち書き換えてからインストールをやり直すことで、すぐ、分かりました。SQLのバージョンが違うために、エンジン表記の仕方が異なっていて、古いソフトのsqlファイルで「TYPE」と表記されている部分を「ENGINE」と書き直すことで、ほとんどの場合はうまくいきました。
 zoxもまた、それでインストール成功という表示になったのですが、店舗画面はうまく表示できても肝心の管理画面が一切表示できず、なすすべがない状態でした。

 二度、三度とインストールをやり直してみても結果は同じ。そこで、管理画面の入口になるはずのURLをブラウザに直接打ち込んでみることにしました。すると、管理者IDとパスワードの入力を求める画面が現れ、「しめたっ!」と思ったのですが、入力後にリターン・キーを押すとまた、真っ白な画面。なので、そのまま、同じやり方で管理者画面のURLを打ち込んでみると、見事(?!)、待ち焦がれた画面が表示できました。
 なるほど、バージョン違いで具合が悪いのだから、こうして、ウラワザで、対処するしかないのかな、と勝手に解釈して、店舗のデザイン・テンプレートを編集してみたり、商品登録をしてみたり、使い勝手は悪いけれど「なんとかなってる」と思いこんで、数日、過ごしたのですが・・・。 

 データ入力はできても、登録実行のリターン・キーを押すと真っ白になる状態は相変わらずだったため、今度は、SQLサーバーに直接アクセスしてphpMyAdminから直接データを書き直す挙に打って出ました。これでも、非生産的で、時間のかかる作業でしたが、商品登録などはうまく進んでいるように見えました。

 でも、どんなデータでも登録実行となると返ってくる画面が白紙で、作業継続には前画面に戻ってのやり直しだったために、ふっと疑問が湧いて、「もしかして、店舗画面も・・・」と、イヤな予感がしたので、試しに顧客登録とか商品購入のテストをしてみたのです。
 すると、・・・。案の定、店舗画面でも、閲覧自体はどのページにも行けたのに、登録とか購入となると、リターン・キーのあとに返ってきたのは、白紙画面ばかり。まったく使いものにならないのでした。

 ウラワザ気分で、ごまかしごまかし、やってきた方法が、実は、なんにもならない作業なのでした。

 実は、5年使ってきたZenCartは、まだ、アクセスできて、いろいろと見比べることができました。で、大きな違いに気付いたのが、サーバー情報の違いです。古い方は、SQLとともにPHPの情報が表示されるのに、zoxではそれが表示されず、PHPが働いていないことを表わしていました。なるほど、これなら、phpプログラムは動かず登録作業は一切跳ね返されて白紙が返ってくるわけです。
 といって、どうすればいいのか、何も分からず、途方に暮れていました。

 データを格納するSQLがちゃんと応えていても、データをやり取りしたりソフトを動かすPHPプログラムが使えていない、などという事例は、どこを探しても、対処のヒントは、見つかりません。 

 そんな中、レンタルサーバーのサポートページにPHPバージョンの選択方法がありました。でも、これをいじるとXCLや他のソフトに影響が出ないだろうか・・・。迷いながらも、試してみたところ、XCLその他の動作にとくに変わったところはありません。それぞれのソフトの管理画面でもPHPが変更されていることは正常に表示されていました。

 選べるPHPは、最も古いものでバージョン4.x.x.からありました。最新のバージョンが5.x.x.で、これらのいくつかを選んでzoxのインストールのやり直しを繰り返した結果、バージョン5.2.x.には、反応することが分かりました。つまり、zoxを動かすには少し古いPHPである必要があったわけです。

 さあ、これで、いよいよ、問題はすべて解決。管理画面も店舗画面も、表示もスムーズなら、試し買いなどのテストも良好です。やっとのことで、トンネルから抜け出すことができました。
 はずでした・・・。

 自前のテンプレートで店舗のデザインを変えるなどの設定作業を行なっていた時でした。ある作業をした途端、再び、真っ白な画面が返ってくる事態に陥りました。
 今まで使っていたZenCartでは、支払や配送の設定を行なうモジュールに郵便振替とか定型外郵便という項目があって、zoxには、なかったため、そのためのプログラムファイルをコピーしてzoxに項目追加しようとしたのです。それで、モジュール・インストールをおこなったところ、またもや、異常行動へと繋がりました。

 実は、このほかにも、以前から使っていたZenCartのファイルをコピーしてzoxに乗せようとすると、文字化けするなどの異変は起きていましたから、ファイルをそのままコピーするのではなく、ファイルはzoxのものを使い、その内容を書き換えることで、違和感が発生しないように務めていました。zoxになかったファイルは周辺のファイルの文字コードに合わせてファイルを作りなおす、というような作業もやってみました。
 それでも、郵便振替、定型外郵便などのモジュールの追加は成功しません。

 ここまでくると、もう、泣きたくなります。何かするたびに、白紙画面が返ってくるような事態を繰り返し、そのたびに、インストールのやり直し。それも、zox本体も、ショップに掲載する写真の数もアップロードするだけで10分近くかかるほどの膨大な量で、そのたびに、サーバーのフォルダやファイルのパーミッションの書き直し・・・。

 でも、まあ、いろいろと経験できたことは、教訓の収穫も多かったように思います。

XCL2.2.1にzox1.32を
モジュール・インストールする場合の教訓

 ●まず、これらのソフトを乗せるサーバーでは、SQLのバージョンは問題にならないけれど、PHPは、バージョン5.3.x.以降のものは使えない。PHP5.2.x.を使うこと。
 ●他のバージョンのZenCartの資産を転用しようとすると成功しないので、モジュール・プログラムなど、極力、他からのファイルは取りこまないこと。
 ●テンプレートや定番ページなど、すでに持っているファイルがある場合は、これをそのままコピーするのではなく、zoxにあるファイルの中味の書き直しによって移植すること。テンプレートはzoxテンプレートの書き換えとフォルダ名・ファイル名の変更で資産移植をすること。

 後で、気が付いたのですが、今まで使っていたZenCartの「データベースのパッチレベル」は1.3.0.2-110n-jp-7。これに対して今度のzoxは、1.3.0.2-110n-jp-5です。このバージョンの違いの影響もあったのかな、と、思うと、5を7に変更できるようなSQLパッチを探したくもなります。・・・が、もう、これ以上の消耗はゴメンなので、やめておきます。(インストール直後はパッチレベル4なのでzox付属のファイルを使ってSQLパッチを5に上げています。)
 この先、まだ、予期しない何ごとかが起こるかもしれませんが、とりあえず、今のところは、完ぺきに働いています。テスト販売も、カード決済のテストも、不具合は発生していません。

 ちなみに、ファイルの作成とか書き換えなどは、メモ帳(ノートパッド)ではなく、文字コードを設定できるエディタを使うことをお勧めします。わたし自身は長年、NoEditorというフリーソフトを愛用しています。
 そういえば、以前のサーバーではMovableTypeを使っていました。これは有料のブログ・ソフトです。(レンタルサーバーによっては、この無料版を提供しているところもあります。)数年ごとのバージョンアップの度におカネがかかるのが不満でバージョンアップをやめてしまい、そんなこともあってフリーソフトばかりを選ぶようになりました。
 いまのサーバーでは、すべてが無料のソフトだけで作っています。無料で使わせてもらうには、画面のどこかに1行だけソフト制作者にアクセスできるリンク行を残しておかなければなりませんが、それほど目障りでもありません。

 以上、顛末記と教訓めいた話、でした。
 アホやなぁと思う人、参考になりましたと言ってくれる人、いろいろでしょう。お気軽にチョッカイ・コメントください。

トラックバック・ピンバックはありません

ご自分のサイトからトラックバックを送ることができます。

コメントをどうぞ