XOOPSはすでに終わってしまっているのだろうか?

常用のエディタを NoEditor から Mery に変えてみた.NoEditor の弱点として,①読み込んだファイルを必ずSJisに変換している,②40MB以上の巨大ファイルを読み込めない,がある.Meryの他に TeraPad というのも試してみた.ほぼ同等と思われるが,しばらく Mery を使ってみることにする.Mary ではなく Mery だというところが不審なところだが…Maryではあまりに一般的で検索に引っかからないためあえてそう名付けたのかもしれない…

MySQLでは内部コードとしてUTF-8を使っている.現在ネットではほとんどUTF-8になっているのではないかと推定されるが,日本語アプリでは依然としてSJisが使われている.UTF-8にはSJisに変換できない文字があるので誤動作の原因になる可能性がある.以前はEUCもよく使われていたような気もするのだが…確か古い版のMySQLではEUCが標準だったような気がする.ともかくこれでコードの問題は解決したし,読みそこなっていた巨大SQLファイルも編集できるようになった.さて,昨日の続きだ.

かつては全盛を極めたXOOPSだがどうも現在は落ち目のようで,特に XOOPS Cube の開発はすでにほとんど停止してしまっているように思われる.XOOPS で構築したユーザ会サイトを完全に放棄するのならそれまでだが,ここにはいくつか重要な資源(資産)が含まれている.①1000人を超えるユーザ会登録会員名簿,②ゼルコバの木ベータのほぼ完全なヘルプドキュメント,③WordPressで書いた膨大な作業ログ(屋根裏部屋).

現在復旧しようとしているサイトイメージのバックアップは登録会員数が683人となっているので比較的初期のものと思われる.また,WordPressはインストールされていないので屋根裏部屋も使っていない時期のものだ.従ってヘルプの内容もまだかなり限定されたものだった可能性がある.SQLのバックアップには100MB超のものもあるのでもしこれらが動かせるようになったらほぼ旧状を復旧させることができる可能性もある…

XOOPSはすでに終わってしまっていると考えられるので今後のサイト運営はWordPressベースで行うしかないだろう.WordPressの利点は特に何もしなくてもケータイ向けのページを出力してくれるという点だ.馬場研究所のホームページである「冷たい森」などはこのまま凍結するしかないが,XOOPSが復旧できないとそれだけでユーザ会は事実上解散ということになる.ユーザ会会員名簿は探せばどこかにある可能性もあり,ユーザ会の活動自体は全体に低調だったことから考えれば会員名簿さえ復元できればそれで十分と言えないこともない.

Meryで現在確認されている最大サイズのSQLを開いてみたところ登録会員数は763人だった.このSQLが保存されたのは2012年3月12日 19:23でまだ,早期と言ってもよい時期だが,コアな会員はほぼこの中に含まれていると考えてもよいのではないだろうか?このあと,猛烈なユーザ登録スパムの嵐が襲って会員数が急膨張した時期がある.このようなスパム会員は可能な限り手作業で排除した記憶があるが,まだそのようなファイルは見つかっていない.

ともかく現在の問題は「zelkova_users」というテーブルを生成できないという点だ.テーブルをインポートすることは現状でも可能だが,このテーブルに管理者を登録することができない.管理者としてログインすることができるようになれば,あとはXOOPSの管理画面から大概のことはできるようになるのだが…

このテーブルにはログインパスワードが登録されている.MyAdminでは任意のテーブルの任意のレコードの任意のフィールドを変更・修正することが可能だが,パスワードは暗号化して保存されているため,原理的に書き換えることができない.従ってともかく何らかの方法で新しい管理者を一人登録しないことには何も始まらないということになる.どうすればよいか?インポートでテーブルを読み込むことは可能だが, zelkova_users テーブルを生成することができるようにならないと問題は解決しないのではないかという気がする.

もう一度ユーザテーブルをドロップしてその辺りの動作を見てみることにしよう.いや,その前に現状ではphpMyAdminの操作でエラーが起きている.

image

どこか壊してしまったようだ.操作→修復 で修復できた.もう一度XOOPSのインストールからやり直してみる.mainfile.php を初期化してからブラウザでXOOPSにアクセスするとインストールウィザードが開始するようになっている.データベースの作成までは問題なく進行する.30個のテーブルが生成されるが,31個目の「データベースzelkova_usersの作成に失敗しました。」で終わる.この問題に関しては昨日記したようにネット上にもいくつかの情報があり,解決策も提示されているのだがいずれにも該当しないという状態になっている.

  • \html\install\sql\mysql.structure.sqlでvarchar(256)→varchar(255)に修正⇒対応済
  • install/sql/mysql.structure.sqlでTYPE=MyISAM⇒ENGINE=MyISAMに変更⇒対応済
  •  

    html/install/password.phpというファイルがあるのでインストール人名とパスワードを設定すると,localhost/installでログイン画面が開きIDとパスワードを入力するようになるが,その後の動作には変化はない.結局ユーザテーブルの生成に失敗している.既存バックアップSQLをインポートした後で管理者登録だけを実行しようとすると,以下のような結果となる.

    image

    データのインサートに成功するテーブルと失敗するテーブルに分かれている.この中でも特にzelkova_usersにインサートできないため,管理人としてログインできない.この問題を解決できないと結局(仮に閲覧できるようになったとしても)それ以上何もできないということになってしまう.この原因は結局XOOPSとXAMPPでPHPのバージョンが合っていないためと考えられるのだが,どう対処したらよいのだろう?ローカルで動作させるだけならPHPのバージョンを落とすという選択肢はあり得るとは思われるが,そうすると外部には持ち出せないということになってしまうのでほとんど意味がない.XOOPSはこの辺りでごたごたしていたために結局廃れてしまったのだろうか?とりあえず,xamppを古いバージョンに戻してみよう.

    なぜだろう?末尾で改行するとリストになってしまう.かなり使いづらい.⇒上の方で段落番号ではなく●を使ってからだ.段落番号に変えたら動作が止まった.

    xammpにはインストールという手順が必要だ.最初にアンインストールしておかないとまずいのではないだろうか?いや,その前にフォルダを削除してしまった.setup_xampp.bat はエラー終了してしまったが,xampp_control.exeから起動することはできる.Apache も MySQL も走っている.⇒いや,xamppのパネルから見るとMySQLは走っていない.phpのフォルダ名がリネームしたままになっていた.phpMyAdminで文字化けが発生し,エラーになる.⇒xamppの新しい版に入っていたphpMyAdminと差し替えて動作するようになった.この版のphpMyAdminはもっとも安定している.いや,よく見ると古いレイアウトの画面になっている.どういうことだろう?

    このphpMyAdminでは25MBのSQLファイルがインポートできない.⇒version 2.7.0以上ならこのようなことは起きないという.このphpMyAdminのバージョンは1.20.3だからクリアできているはずだが…upload_max_filesize, memory_limit and post_max_size をチェックする必要がある.これはapacheの設定のはずだ.⇒いや,httpd.confにはない.php.iniのようだ.3つのパラメータすべてを200Mに変えてみたがアップロードできない.XOOPSをlocalhostで開けない.MyAdminで見るとデータベースはdc2b69という接頭辞でつくられているが,ユーザは未登録だ.XOOPSのデータベースユーザはroot,パスワードなしという設定なのでアクセスできてもよいはずなのだが…

    差し替え版が間違っていた可能性があるのでXOOPS NEWからコピーし直したが動作しない.phpMyAdmin/config.inc.phpは修正した.どうも何かやりそこなってしまったようだ.以下のようなエラーが起きている.かなり考えづらい状況だ.

    Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING or ‘(‘ in D:\XOOPS\phpMyAdmin\index.php on line 10

    これはこの行のどこかに不可視の不正文字が入っていることを意味している.Meryは半角/全角スペースを可視化できるのである程度このような問題に対処できるが,少なくとも不正文字は入っていないように見える.しかも同じ行を手打ちしても同じことが起きるので意味が分からない.NoEditorで読み込んでもSjisに変換できない文字の存在は検出されなかった.別のところにある同名ファイルと差し替えたところ,そのエラーは消えたが今度はまた別のファイルでエラーが発生した.

    Parse error: syntax error, unexpected ‘[‘ in D:\XOOPS\phpMyAdmin\libraries\config.default.php on line 125

    このファイルも差し替えてログイン画面が出たが,phpMyAdminの内部で同種のエラーが頻発している.やはり古いxamppに入っているphpMyAdminでないと動作しないように思われる.ネットで以下のような回答を見つけた.これが当たっているような気もする.

    https://stackoverflow.com/questions/13960277/error-parse-error-syntax-error-unexpected-t-string-expecting-t-constant-encap

    Make sure they are running PHP 5.3 or later. If they are running an earlier version they won’t have support for namespaces.

    So you don’t see any syntax errors? than it must be php version.

    この版ではphpMyAdminは正常に動作しているが,上記したように25MBのファイルを読み込むことができない.このxamppは32ビット版なので動作に制限があるのではないだろうか?大きいファイルを分割してロードするようなツール(たとえばBigDump)もあるようだが…コマンドラインで操作するのは煩わしい…デフォルトが16MBなので半分に分割すれば通るかもしれない.いや,その前にXOOPSにログインできるようにしてみよう.

    XOOPS/mainfile.phpでMySQL内に実在するデータベース名を設定してログイン画面を開くことができた.ただし,このXOOPSでは管理人さえ登録されていないので中に入ることができない.新しいXOOPSにはインストールウィザードというのがあるが,古いXOOPSにはそれらしきものがない.ともかく管理人付きのXOOPSを一つ立ち上げないことにはどうにもならない.ネットで探してみるしかないのではないだろうか?XOOPS Cube サイトには2006年以降のバージョンのストックがある.ホダ塾ディストリビューションというのを使っていたような気もするが,一番古いので2008年8月9日だ.Version 1.0.2 とあるのでホダ塾版というのが出て間がない時期のものと思われる.

    最新版のディストリビューション正式版で2018年2月8日というのがある.これを試してみるべきではないだろうか?XOOPS X と呼んでいるものだ.新しいXOOPSで起きていたのはどういう問題だったっけ?⇒最大の問題はユーザテーブルが作れないという問題だが,PHP周りのエラーがごたごた起きていたような気がする.2018年の最新リリースを完全にクリーンインストールしてやれば,少なくともこれらの問題は解決しているのではないか?それをまず,試みることにしよう.legacy-corepack_20180208 というパッケージだ.ともかくこれを黙ってインストールしてみよう.ただし,この場合はxamppの新しいバージョンを使う必要がある.現在使っているxamppはxampp NOWとリネームしておこう.

    setup_xampp.bat でエラーが出ている.

    image

    警告なので無視できるかもしれないが,調べておこう.PHPの構文は知らないのでどうなっているのかよく分からないが,$scount,$bcount,$dbcount は Countable という属性を持たなくてはならないということなのだろう.まぁ,よいことにしておこう.Apache は問題なく走ったが,MySQLはエラーを出して落ちてしまった.

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

    CAPTCHA