XoopsCore25にWordPressをインストールできた

龍司@RYUSさんという方からコメントが入っていた.発信は2020/03/12.このところメールをまったくチェックしていないので気付かなかった.この方はXOOPS Cubeを使ったシステム開発をやっている株式会社RYUSの代表者でXOOPS Cubeプロジェクトのトップランナーとも言うべき方だ.まだネットにアクセスできていた頃はうさでき(うさぎにもできるXOOPS Cube)というメールマガジンを購読していたが確かそことも接触があったはず.※

※XOOPSうさぎ通信の発行主体は株式会社RYUSだった.注文の多いXOOPS屋サイトの更新は2011/07/11で止まっている.

コメント返ししたのはよいが,テント村を開いてもコメント欄がどこにも見当たらない.設定が非表示になっていればコメントを付けることもできないはずなので,どうなっているのか訳がわからず探しまくったところようやくアクセスの方法が分かった.WordPressのコメント欄には個別のページを開いた状態の場合しか見えないようになっている.ページを個別に開くためには記事のタイトルをクリックする必要がある!今の場合は,

2020年3月11日 本家XOOPSの最新版が走るようになった! https://zelkova-tree.net/WordPress/2020/03/11/apache%e3%81%ae%e5%8b%95%e4%bd%9c%e3%81%8c%e3%81%8a%e3%81%8b%e3%81%97%e3%81%84-php-ini%e3%81%ae%e4%bf%ae%e6%ad%a3%e3%81%8c%e5%8f%8d%e6%98%a0%e3%81%95%e3%82%8c%e3%81%aa%e3%81%84/

picoとそれが参照しているaltsysの導入には失敗したが,XPressMe(WordPress)はインストールできた.XPressMeの動作はまだ確認していないが(エラーが発生している),エラーの規模は大きくないので多分収束できるのではないかと見ている.picoはマニュアル(オンラインヘルプ)を書くのに使っていたはずなので何とか復活させたいのだが,最悪の場合,記事だけをWordPressに移植することは不可能ではないと思われるので,一番肝心なところはWordPressが使えるようにするということではないかと思う.まず,バックアップを取ってから開始することにしよう.WordPressでは以下のようなエラーが発生している.

Error: Call to undefined function mysql_get_server_info()

mysql_get_server_infoという関数はPHP7では廃止されている.代替として,mysqli_get_server_infoを使えというサジェスチョンが出ている.XOOPS25のsecure.phpで define(‘XOOPS_DB_TYPE’, ‘mysql’); となっているところをmysqliに変えるとXOOPS25が立ち上がらなくなってしまう(だるまさんになる)ので,個別に対処するしかない.Meryで検索して以下の7件がヒットした.

D:\XoopsCore25\htdocs\modules\system\js\code_mirror\tokenizephp.js(392):
D:\XoopsCore25\htdocs\modules\wordpress\admin\index.php(175):
D:\XoopsCore25\htdocs\modules\wordpress\admin\index.php(249):
D:\XoopsCore25\htdocs\modules\wordpress\include\oninstall.php(92):
D:\XoopsCore25\htdocs\modules\wordpress\wp-admin\includes\class-wp-site-health.php(162):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\wp-db.php(3621):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\js\codemirror\codemirror.min.js(27):

念のためmysqli_get_server_infoも検索してみると,11件がヒットしている.

D:\XoopsCore25\htdocs\class\database\mysqldatabase.php(463):
D:\XoopsCore25\htdocs\class\model\sync.php(69):
D:\XoopsCore25\htdocs\Frameworks\art\functions.php(48):
D:\XoopsCore25\htdocs\Frameworks\art\object.php(91):
D:\XoopsCore25\htdocs\modules\system\js\code_mirror\tokenizephp.js(410):
D:\XoopsCore25\htdocs\modules\system\themes\default\default.php(74):
D:\XoopsCore25\htdocs\modules\system\themes\transition\transition.php(108):
D:\XoopsCore25\htdocs\modules\system\themes\zetadigme\zetadigme.php(115):
D:\XoopsCore25\htdocs\modules\wordpress\wp-admin\includes\class-wp-site-health.php(159):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\wp-db.php(3619):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\js\codemirror\codemirror.min.js(27):

ファイルごとに比較しておこう.左がmysql_get_server_infoの出現,右がmysqli_get_server_infoだ.

tokenizephp.js(392) ― tokenizephp.js(410)
index.php(175, 249): ― 
oninstall.php(92) ― 
class-wp-site-health.php(162) ― class-wp-site-health.php(159)
wp-db.php(3621) ― wp-db.php(3619)
codemirror.min.js(27) ― codemirror.min.js(27)
― mysqldatabase.php(463),sync.php(69),functions.php(48),object.php(91),default.php(74),transition.php(108),zetadigme.php(115)

これで見ると,おそらく修正を要するのはindex.php(175, 249)とoninstall.php(92)だけではないかと思われる.これらを修正したが,まだエラーは発生している.

Warning: Use of undefined constant XOOPS_PATH – assumed ‘XOOPS_PATH’ (this will throw an Error in a future version of PHP) in D:\XoopsCore25\htdocs\modules\wordpress\class\config_from_xoops.class.php(56) : eval()’d code on line 1

データベース接続確立エラー

XOOPS_PATHは以下の13箇所で参照されている.

D:\XoopsCore25\htdocs\admin.php(68):
D:\XoopsCore25\htdocs\admin.php(69):
D:\XoopsCore25\htdocs\image.php(248):
D:\XoopsCore25\htdocs\mainfile.dist.php(26):
D:\XoopsCore25\htdocs\mainfile.dist.php(29):
D:\XoopsCore25\htdocs\mainfile.dist.php(30):
D:\XoopsCore25\htdocs\mainfile.php(26):
D:\XoopsCore25\htdocs\mainfile.php(29):
D:\XoopsCore25\htdocs\mainfile.php(30):
D:\XoopsCore25\htdocs\class\xoopskernel.php(35):
D:\XoopsCore25\htdocs\class\xoopskernel.php(38):
D:\XoopsCore25\htdocs\class\logger\xoopslogger.php(202):
D:\XoopsCore25\htdocs\class\smarty\xoops_plugins\modifier.truncateHtml.php(33):

いや,おかしい.XOOPS_PATHはmainfile.phpで定義されている.上記config_from_xoops.class.php(56) の56行というのは下記関数でevalを呼び出しているところに該当する.

function xpress_eval($str){
    $eval_str = ‘$ret = ‘ . $str . ‘ ;’;
    eval($eval_str);
    return $ret;
}

Debug mode がいつの間にかオフになっていた.
Error : Error: Call to undefined function mysqil_get_server_info()

どこかでミスタイプしたのだろうか?mysqliがmysqilになっている.⇒index.phpでミスっていた.⇒これを修正してほぼ動作するようになったが,まだModules→WordPress blog→WordPress Adminでエラーが起きている.

Warning: Use of undefined constant XOOPS_PATH – assumed ‘XOOPS_PATH’ (this will throw an Error in a future version of PHP) in D:\XoopsCore25\htdocs\modules\wordpress\class\config_from_xoops.class.php(56) : eval()’d code on line 1
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in D:\XoopsCore25\htdocs\modules\wordpress\include\memory_limit.php:17 Stack trace: #0 D:\XoopsCore25\htdocs\modules\wordpress\include\add_xpress_process.php(202): xpress_set_memory_limmit() #1 D:\XoopsCore25\htdocs\modules\wordpress\wp-config.php(85): require_once(‘D:\\XoopsCore25\\…’) #2 D:\XoopsCore25\htdocs\modules\wordpress\wp-load.php(37): require_once(‘D:\\XoopsCore25\\…’) #3 D:\XoopsCore25\htdocs\modules\wordpress\wp-admin\admin.php(34): require_once(‘D:\\XoopsCore25\\…’) #4 D:\XoopsCore25\htdocs\modules\wordpress\wp-admin\index.php(10): require_once(‘D:\\XoopsCore25\\…’) #5 {main} thrown in D:\XoopsCore25\htdocs\modules\wordpress\include\memory_limit.php on line 17

mysql_connectという関数が未定義というエラーだ.Updateは可能なようだが,もっと新しいバージョンがあるだろうか?WPの現在のバージョンは5.3.2だ.⇒やってみれば分かるだろう.⇒Updateされた.Versionは2.36.これはXPressMeのバージョンのことではないだろうか?動作は同じだ.memory_limit.phpでエラーが発生しているようだが,スタックオーバーフローでなければよいが…mysql_connectという関数もPHP7では使えなくなっている.以下の11箇所で参照されている.

D:\XoopsCore25\htdocs\modules\system\class\thumbs\phpThumb.php(328):
D:\XoopsCore25\htdocs\modules\system\class\thumbs\phpThumb.php(329):
D:\XoopsCore25\htdocs\modules\system\class\thumbs\phpThumb.php(338):
D:\XoopsCore25\htdocs\modules\system\js\code_mirror\tokenizephp.js(379):
D:\XoopsCore25\htdocs\modules\wordpress\include\memory_limit.php(17):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\wp-db.php(783):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\wp-db.php(1654):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\wp-db.php(1665):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\wp-db.php(1668):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\wp-db.php(1728):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\js\codemirror\codemirror.min.js(27):

mysqli_connectの出現も見ておこう.⇒7件あった.

D:\XoopsCore25\htdocs\install_remove_17115613625e6a78cfd2306\page_dbsettings.php(37):
D:\XoopsCore25\htdocs\install_remove_17115613625e6a78cfd2306\page_modcheck.php(62):
D:\XoopsCore25\htdocs\modules\system\class\thumbs\phpThumb.php(291):
D:\XoopsCore25\htdocs\modules\system\js\code_mirror\tokenizephp.js(398):
D:\XoopsCore25\htdocs\modules\wordpress\wp-admin\includes\class-wp-site-health.php(851):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\wp-db.php(614):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\js\codemirror\codemirror.min.js(27):

mysql_connectとmysqli_connectの出現位置を比較してみる.

phpThumb.php(328, 329, 338) ― phpThumb.php(291):
tokenizephp.js(379) ―  tokenizephp.js(398)
memory_limit.php(17) ― 
wp-db.php(783, 1654, 1665, 1668, 1728,) ― wp-db.php(614)
codemirror.min.js(27) ― codemirror.min.js(27)
― page_dbsettings.php(37),page_modcheck.php(62),class-wp-site-health.php(851)

上記エラーの直接の原因はmemory_limit.php(17)だが,wp-db.phpにも5箇所の出現がある.しかし,このファイルにはmysqli_connectを呼び出している箇所もあるので,様子を見ることにしよう.⇒対処したが,別のエラーが出てきた.今度はmysql_closeだ.今後はWordPressの中だけをチェックすることにする.というか,WordPressでmysqliの使用を強制するということはできないのだろうか?WPのSystem informationではMySQL Versionは不明となっている.WP内におけるmysql_closeの出現は以下の3箇所だ.

D:\XoopsCore25\htdocs\modules\wordpress\include\memory_limit.php(59):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\wp-db.php(3477):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\js\codemirror\codemirror.min.js(27):

一方,mysqli_closeは以下の2箇所に出現している.

D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\wp-db.php(3475):
D:\XoopsCore25\htdocs\modules\wordpress\wp-includes\js\codemirror\codemirror.min.js(27):

memory_limit.php(59)だけを修正しておこう.⇒これでCall to undefined functionエラーは解消したが,データベースには接続できていない.多分それとは独立に警告3件が発生している.

Warning: Use of undefined constant XOOPS_PATH – assumed ‘XOOPS_PATH’ (this will throw an Error in a future version of PHP) in D:\XoopsCore25\htdocs\modules\wordpress\class\config_from_xoops.class.php(56) : eval()’d code on line 1
Warning: mysqli_connect(): (HY000/1045): Access denied for user ”@’localhost’ (using password: NO) in D:\XoopsCore25\htdocs\modules\wordpress\include\memory_limit.php on line 18
Warning: mysqli_close() expects parameter 1 to be mysqli, bool given in D:\XoopsCore25\htdocs\modules\wordpress\include\memory_limit.php on line 60

データベース接続確立エラー

これは、wp-config.php ファイルのユーザー名とパスワードが正しくないか、あるいは のデータベースサーバーに接続できないかのどちらかを意味します。ホスティングサービスのデータベースサーバーがダウンしているかもしれません。ユーザー名とパスワードに間違いはありませんか ? 正しいホスト名を入力しましたか ? データベースサーバーは稼働していますか ?

wp-config.phpを見てみよう.このファイルではすべてのデータベース設定を$xoops_configから取り出している.WPのSystem information→Set value that XPressME acquired from XOOPSを見ると,XOOPS setting valueは正しく表示されているが,xoops_config get valueはXOOPS_ROOT_PATH, XOOPS_TRUST_PATH, XOOPS_URL以外についてはすべて空欄になっている.この中にはXOOPS_DB_HOST, XOOPS_DB_USER, XOOPS_DB_PASS, XOOPS_DB_NAME, XOOPS_DB_PREFIXが含まれる.

おかしい.開発機からネットに接続できなくなってしまった.WiFiルータは接続済になっているのだが…⇒切断→再接続で復活した.$xoops_configというのはWordPress内で通用している変数だ.暫定的にwp-config.phpの中で固定値を設定するようにしてみよう.動き初めた.XPressMeのデータベース名はXOOPSのデータベース名と一致している必要があるようだ.以下の警告が出ている.

Warning: Use of undefined constant XOOPS_PATH – assumed ‘XOOPS_PATH’ (this will throw an Error in a future version of PHP) in D:\XoopsCore25\htdocs\modules\wordpress\class\config_from_xoops.class.php(56) : eval()’d code on line 1
Warning: mysqli_connect(): (HY000/1045): Access denied for user ”@’localhost’ (using password: NO) in D:\XoopsCore25\htdocs\modules\wordpress\include\memory_limit.php on line 18
Warning: mysqli_close() expects parameter 1 to be mysqli, bool given in D:\XoopsCore25\htdocs\modules\wordpress\include\memory_limit.php on line 60

image

この画面は「WordPressをインストール」となっている.もう一度インストールする必要があるのだろうか?ともかくWordPressのダッシュボードが開いた.⇒新規投稿でエラーが出てしまった.かなり幸先が悪い出発だ.3つの警告の上にParse errorが出ている.

Parse error: syntax error, unexpected ‘&’, expecting ‘)’ in D:\XoopsCore25\htdocs\modules\wordpress\include\xpress_block_render.php on line 37

テーマのカスタマイズなどでも同様のエラーが発生する.これを解決できなかったら使い物にならない…37行目の内容は

$ans = mb_convert_variables(‘UTF-8’ , ‘EUC-JP’, &$xml_data); //EUC-JP to UTF-8

mb_convert_variablesは第3引数のテキストなどを第1引数のエンコードに変換するものだ.

mb_convert_variables ( string $to_encoding , mixed $from_encoding , mixed &$vars [, mixed &$... ] ) : string

しかし,上のエラーメッセージを見ると

mb_convert_variables ( string $to_encoding , mixed &$vars [, mixed &$... ] ) : string

のような仕様になっていることを想定しているように思われる.しかし,そのような変種は見当たらない.このエラーもPHPのバージョンに関係しているようだ.暫定的にこの呼び出しを止めておくことにしよう.(XOOPS25の環境では入出力のすべてでUTF-8が使われているからコード変換は不要と仮定する)mb_convert_variablesは以下の4箇所で使われている.

D:\XoopsCore25\htdocs\modules\wordpress\include\xpress_block_header.php(37):
D:\XoopsCore25\htdocs\modules\wordpress\include\xpress_block_header.php(39):
D:\XoopsCore25\htdocs\modules\wordpress\include\xpress_block_render.php(37):
D:\XoopsCore25\htdocs\modules\wordpress\include\xpress_block_render.php(39):

4箇所をすべてコメントアウトしてこのエラーは解消したが,まだエラーは続く.

Parse error: syntax error, unexpected ‘new’ (T_NEW) in D:\XoopsCore25\htdocs\modules\wordpress\include\xpress_block_render.php on line 174

174行目は

$tpl =& new XoopsTpl() ;

となっている.参照の&を外したらエラーは解消したが,まだ出てくる.

Parse error: syntax error, unexpected ‘new’ (T_NEW) in D:\XoopsCore25\htdocs\modules\wordpress\include\xml.php on line 18

xml.phpの18行目は

$xml_parser = &new xpress_XML();

となっているので,上と同様&を取り除いたら動作するようになった.警告は出ているが,ブロックエディタ画面に入れた.

image

これらのエラーについては以下に説明がある.

下位互換性のない変更点→下位互換性のないその他の変更
https://www.php.net/manual/ja/migration70.incompatible.php

新しいオブジェクトを参照渡しで代入できない
new 文の結果を参照渡しで変数に代入することができなくなりました。

従って,PHP7では「&new」はすべて構文エラーになると考えられる.検索するとJSを除外して,4ファイル見つかった.

D:\XoopsCore25\htdocs\modules\wordpress\include\xml.php(18):
D:\XoopsCore25\xoops_lib\libs\altsys\include\Text_Diff.php(38, 40, 59, 282. …,840):
D:\XoopsCore25\xoops_lib\libs\altsys\include\Text_Diff_Renderer.php(86. 102):
D:\XoopsCore25\xoops_lib\libs\altsys\include\Text_Diff_Renderer_inline.php(119, 123):

修正しておこう.Text_Diff.phpは個数が多いのでファイルのバックアップを取って一括変換しておく.警告は山のように出ているが,エラーは発生しなくなったようだ.警告に関しては後日調べることにして,一旦デバッグモードを止めて動作をチェックしてみよう.⇒XOOPSのデバッグモードを止めてもWordPressの警告は止まらない.

「XPressME Integration Kit Version 2.54 が利用可能です」という通知が入っているのでUpdateしてみよう.⇒以下のリンクで403エラーになった.

http://ja.xpressme.info/wp-content/plugins/download-monitor/download.php?id=142

WordPressの設定では特にデバッグモードというのは見当たらなかった.XOOPSでデバッグモードをSmartyに変えてもWordPressのエラー表示は変化しない.新規投稿→公開でエラーになった.

公開に失敗しました。 エラーメッセージ: 返答が正しい JSON レスポンスではありません。

非公開で投稿でも同じエラーになる.また,パスワード保護というオプションが選択できない.⇒非公開で保存されているようだ.エラーは出ているがXOOPSのトップページに表示されている.いや,XOOPSのトップではなくWordPressのトップページだ.しかし,メニュー類はXOOPSのものが出ている.テーマを切り替えても画面がまったく変化しない.WordPressのバージョンは5.3.2だが,これは古いのか新しいのか?ロリポ!で提供しているWordPressのバージョンも5.3.2だから最新と考えてよい.ロリポ!のブログには以下のプラグインが導入されている.○は現在使用中のもの

  1. Akismet Anti-Spam ○
  2. Classic Editor ○
  3. Count Per Day ○
  4. Hello Dolly
  5. SiteGuard WP Plugin ○
  6. WP Multibyte Patch ○

wp-config.php 等の定義ファイルにおいて WP_DEBUG 定数を真と定義することにより、WordPress を「デバッグモード」で動作させることができます。

とあったので,wp-config.phpで明示的に偽に設定してみたが,動作には変化なかった.XPressMeではブログ管理人の写真はアップしていないが,WordPressは覚えているようで,画面上部の「こんにちは,babalaboさん」には顔写真が出てくる.しかし,どうやって突き合わせているのだろう?ユーザ名は同じだが,パスワードは異なるものを使っている.メールアドレスで判定しているのだろうか?ロリポップのPHPは7.3(モジュール版),こちらのxampp7のPHPは7.4.2だ.この差が現れているのだろうか?だとすれば,xampp7のPHPが新し過ぎるということになるのだが…PHP7.3を導入して動作をチェックしてみたい…一応WordPressは動くようになったので一度バックアップを取って先に進むことにしよう.

XoopsCore25とMySQL→xoops25だけをバックアップしておくことにする.⇒おかしい.またエクスポートに失敗している.いや,多分これはmax_sizeの問題だろう.WordPressでは確か,MAXを512MBとしていたような気がするので,PHP.iniで3つの定数をすべて400MBに設定しておくことにする.WordPressではなく,memory_limitが512MBだ.これにupload_max_filesizeとpost_max_sizeを合わせることにしよう.ダメだ.まだ保存できない.何か他にやることがあったろうか?⇒dbのインデックス不整合というエラーが出たので,mysql→dbテーブルの修復を実行した.

以前にもエキスポートでエラーが出ているが,そのときにはエラーメッセージがHTML形式で表示されている.どこでどのようにしたらエラーが表示できるようになるのだろう?これはMySQLの動作なのでXOOPSのデバッグモードは関係ないはずだ.このログではUtil.phpの1617行目の書き換えを実施している.⇒エクスポートできるようになった.

685KBであまり大きなファイルではない.さて,atlsysが残っているのだが,どうしたものだろう?PHPエラーもある程度飲み込めたのでもう一度チャレンジしてみたい.libs/atlsysの中のPHPにも修正が入っているので今度は通る可能性がある.⇒だめだ.

Error : ParseError: syntax error, unexpected ‘new’ (T_NEW)

だるまが出てしまうのでエラーの詳細が分からない.Errors()にエラーが入っている.

Unknown: filter_var(): FILTER_SANITIZE_MAGIC_QUOTES is deprecated, use FILTER_SANITIZE_ADD_SLASHES instead in file /modules/system/include/functions.php line 36

FILTER_SANITIZE_MAGIC_QUOTES が使われているのはこの場所だけだ.この修正でErrors(0)になったが,atlsysのインストールでだるまになる状況は変わらない. /xoops_trust_path/libs/altsys/include/altsys_functions.phpをextras/のファイルからオリジナルに戻してみた.インストールすると以下のエラーが出る.

Error: ParseError: syntax error, unexpected ‘new’ (T_NEW) in file D:/XoopsCore25/xoops_lib/libs/altsys/oninstall.php line 39

oninstall.phpの39行目は

$sqlutil =& new OldSqlUtility ;

となっている.これは上記の「新しいオブジェクトを参照渡しで代入できない」という話の続きだろう.このような表記はほとんどlig/altsys内の関数だが,wordpressが2件,protectorが3件ある.全25箇所.この際だから片付けておくことにしよう.⇒!やった!altsysがインストールできた.これでpicoもインストールできるかもしれない.⇒altsysのインストールには成功しているが,そのあと管理画面に戻るところでだるまになり,大量のエラーが発生.

Errors

Unknown: Methods with the same name as their class will not be constructors in a future version of PHP; AltsysBreadcrumbs has a deprecated constructor in file D:/XoopsCore25/xoops_lib/libs/altsys/class/AltsysBreadcrumbs.class.php line 4

Notice: Only variables should be assigned by reference in file D:/XoopsCore25/xoops_lib/libs/altsys/index.php line 7

Notice: Only variables should be assigned by reference in file D:/XoopsCore25/xoops_lib/libs/altsys/index.php line 8

Unknown: Non-static method AltsysBreadcrumbs::getInstance() should not be called statically in file D:/XoopsCore25/xoops_lib/libs/altsys/index.php line 14

Notice: Only variables should be assigned by reference in file D:/XoopsCore25/xoops_lib/libs/altsys/index.php line 28

Unknown: Methods with the same name as their class will not be constructors in a future version of PHP; XoopsGTicket has a deprecated constructor in file D:/XoopsCore25/xoops_lib/libs/altsys/include/gtickets.php line 7

Unknown: Methods with the same name as their class will not be constructors in a future version of PHP; MyXoopsGroupPermForm has a deprecated constructor in file D:/XoopsCore25/xoops_lib/libs/altsys/include/mygrouppermform.php line 49

Unknown: Methods with the same name as their class will not be constructors in a future version of PHP; MyXoopsGroupFormCheckBox has a deprecated constructor in file D:/XoopsCore25/xoops_lib/libs/altsys/include/mygrouppermform.php line 224

Warning: Use of undefined constant ALTSYS_CORE_TYPE_XCL21 – assumed ‘ALTSYS_CORE_TYPE_XCL21’ (this will throw an Error in a future version of PHP) in file D:/XoopsCore25/xoops_lib/libs/altsys/myblocksadmin.php line 24

Warning: Use of undefined constant ALTSYS_CORE_TYPE_ICMS – assumed ‘ALTSYS_CORE_TYPE_ICMS’ (this will throw an Error in a future version of PHP) in file D:/XoopsCore25/xoops_lib/libs/altsys/myblocksadmin.php line 28

Unknown: Non-static method MyBlocksAdminForX20S::getInstance() should not be called statically in file D:/XoopsCore25/xoops_lib/libs/altsys/myblocksadmin.php line 35

Unknown: Non-static method Database::getInstance() should not be called statically in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdmin.class.php line 23

Notice: Only variables should be assigned by reference in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdmin.class.php line 23

Warning: Use of undefined constant _AM_SBLEFT – assumed ‘_AM_SBLEFT’ (this will throw an Error in a future version of PHP) in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdminForX20S.class.php line 21

Warning: Use of undefined constant _AM_SBRIGHT – assumed ‘_AM_SBRIGHT’ (this will throw an Error in a future version of PHP) in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdminForX20S.class.php line 22

Warning: Use of undefined constant _AM_CBLEFT – assumed ‘_AM_CBLEFT’ (this will throw an Error in a future version of PHP) in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdminForX20S.class.php line 23

Warning: Use of undefined constant _AM_CBRIGHT – assumed ‘_AM_CBRIGHT’ (this will throw an Error in a future version of PHP) in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdminForX20S.class.php line 24

Warning: Use of undefined constant _AM_CBCENTER – assumed ‘_AM_CBCENTER’ (this will throw an Error in a future version of PHP) in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdminForX20S.class.php line 25

Warning: Use of undefined constant _AM_CBBOTTOMLEFT – assumed ‘_AM_CBBOTTOMLEFT’ (this will throw an Error in a future version of PHP) in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdminForX20S.class.php line 26

Warning: Use of undefined constant _AM_CBBOTTOMRIGHT – assumed ‘_AM_CBBOTTOMRIGHT’ (this will throw an Error in a future version of PHP) in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdminForX20S.class.php line 27

Warning: Use of undefined constant _AM_CBBOTTOM – assumed ‘_AM_CBBOTTOM’ (this will throw an Error in a future version of PHP) in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdminForX20S.class.php line 28

Notice: Only variables should be assigned by reference in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdmin.class.php line 73

Notice: Only variables should be assigned by reference in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdmin.class.php line 74

Notice: Only variables should be assigned by reference in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdmin.class.php line 75

Notice: Only variables should be assigned by reference in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdmin.class.php line 85

Notice: Only variables should be assigned by reference in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdmin.class.php line 88

Unknown: Non-static method AltsysBreadcrumbs::getInstance() should not be called statically in file D:/XoopsCore25/xoops_lib/libs/altsys/class/MyBlocksAdmin.class.php line 98

Unknown: Methods with the same name as their class will not be constructors in a future version of PHP; D3Tpl has a deprecated constructor in file D:/XoopsCore25/xoops_lib/libs/altsys/class/D3Tpl.class.php line 6

Error: Error: Call to undefined method XoopsTpl::XoopsTpl() in file D:/XoopsCore25/xoops_lib/libs/altsys/class/D3Tpl.class.php line 9

最後のエラーを見てみよう.D3Tpl.class.php line 9は

parent::XoopsTpl() ;

& newがまだ残っていた.なぜだろう?picoで追加されたものだ.一部はすでに修正されたものもあるが,全124箇所あった.⇒すべて書き換えた.⇒picoのインストールに成功した.しかし,管理画面に戻るところでFatal Errorが出た.

Fatal error: Cannot make static method MyTextSanitizer::getInstance() non static in class PicoTextSanitizer in D:\XoopsCore25\xoops_lib\modules\pico\class\pico.textsanitizer.php on line 14

これを含めてエラーは13個発生している.pico.textsanitizer.php on line 14 は関数名の部分で,この関数は上位クラスのMyTextSanitizer値を返している.

function PicoTextSanitizer()
{
    parent::MyTextSanitizer() ;
}

一応上記の修正でpicoはインストールされて,インストール済モジュールは7個になったが,altsysにはMenuというところで❌が付いている.これはどういうことだろう?❌をクリックしたら☑」に戻った.SUBMITボタンを押して,以下のエラーが出ている.

Unknown: Methods with the same name as their class will not be constructors in a future version of PHP; D3LanguageManager has a deprecated constructor in file D:/XoopsCore25/xoops_lib/libs/altsys/class/D3LanguageManager.class.php line 3

Unknown: Non-static method D3LanguageManager::getInstance() should not be called statically in file D:/XoopsCore25/xoops_lib/modules/pico/xoops_version.php line 7

これらのエラーはXOOPSで構築されたサイトでは恒例のようになっている.

pico/xoops_version.php line 7は

$langman =& D3LanguageManager::getInstance() ;

これは「非 static メソッドに対する static 呼び出し」禁止という規則だ.今の場合,getInstanceが非静的メソッド,D3LanguageManagerはクラス名なのでD3LanguageManager::getInstance() は静的呼び出しになる.

コメントを残す

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

CAPTCHA