rss ログイン
JJ1RLWのXOOPS Cube Siteにようこそ JJ1RLWのXOOPS Cube Siteにようこそ

サイト内検索

メインメニュー

ログイン


ユーザー名:


パスワード:





パスワード紛失  |新規登録

オンライン状況

2 人のユーザが現在オンラインです。

登録ユーザ: 0
ゲスト: 2

もっと...

アクセスカウンタ

今日 : 6969
昨日 : 5959
総計 : 257748257748257748257748257748257748

アクセスカウンター

本日のカウント:126
1日前::103
2日前::163
3日前::308

トータル:809685

人気モジュール

No.1: リンク集(links) 13200
No.2: xpress ブログ 11381
No.3: 資料室 2201
2018/02/15からの合計

ミニカレンダー (piCal)

前月2018年 8月翌月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
<今日>

カレンダー

2018年8月
« 7月    
 1234
567891011
12131415161718
19202122232425
262728293031  

最近の記事内容

    Raspberry Pi3(ルーター)初めてのトラブル

    Raspberry pi3(ルーター)初めてのトラブルを経験しました。

    昨日(2018/08/13)16時過ぎ頃に停電(瞬間停電)があった様で、マイロSDカードのルートファイルシステムに矛盾が発生し、起動時にエマージェンシー(メンテナンス)モードになって入力待ち状態で止まって、普通に起動してくれない。

    Give root password for maintenance
    (or type Control-D to continue):
    の様なメッセージで入力待ち状態で止まる。

    ディスプレイ、マウス、キーボードを繋ぎ、入力待ち状態でrootのパスワードを入力してログインし、

    umount /dev/mmcblk0p2
    fsck -y /dev/mmcblk0p2
    reboot

    正常に起動していることを確認してトラブルシューティングは終わりです。

    参考サイト
    RaspbianでWelcome to emergency mode!
    Linuxを強制終了した場合に、起動不良→回復方法

    PHP7対応のまとめ

    以前に投稿したxpress ブログのPHP7対応の記事を資料室にまとめて見ました。

    ※リンクをクリックするとブラウザの新しいウインドウが開きます。
    xpress ブログ記事へのリンク、
    Analyzer for xcの改造
    Analyzer for XC Ver 0.51のPHP7対応
    Analyzer for XC Ver 0.51のPHP7対応その2

    logcounterx Ver 2.74のUTF-8、MySQL、PHP7対応

    myx_backup Ver 1.10のPHP7対応

    PHP7とXOOPS Cube環境下でのPHPエラーメッセージ

    zen-cart Ver1.5.1-jpのPHP7対応での変更点

    資料室の記事へのリンク
    Analyzer for XC Ver 0.51のPHP7対応などまとめ

    logcounterx Ver 2.74のUTF-8、MySQL、PHP7対応などまとめ

    myx_backup Ver 1.10のPHP7対応まとめ

    PHP7とXOOPS Cube環境下でのPHPエラーメッセージ

    zen-cart Ver1.5.1-jpのPHP7対応での変更点

    MySQL 8.0のクラッシュ、その後2

    MySQL 8.0のクラッシュ、その後、MySQL 8.0.11から8.0.12にアップグレード後、mysql_upgradeコマンドを実行し、正常に終了しました。
    mysqldを再起動してテストしても、やはりクラッシュします。

    MyISAMとInnoDBの両方のデータベースエンジンで、クラッシュが発生します。
    作成したばかりのデータベースで、「SHOW TABLE STATUS FROM hogehoge」のクエリーでクラッシュが発生します。
    やはり、以前と同じで、
    [ERROR] [MY-000000] [InnoDB] InnoDB: Assertion failure: row0sel.cc:4603
    とのエラーログが出力されて、mysqldが落ちてしまいます。

    ほかにもクエリーの応答時間が、MySQL 5.7と較べて「激遅」なのも問題です。

    MySQL 8.0のバージョンアップで改善することを期待していましたが、改善していません。

    DDNSの情報が他のDNSに反映されない

    2018/07/13~16にかけて、DDNSの情報が他のDNSに反映されない状況となり、当サイトにアクセス出来ませんでした。

    当サイトが利用しているDDNS(ieServer.netのDDNSサービス)は、結構堅牢なサーバ構成をとっているので、トラブルはめったに無いのですが、一応、DDNSの管理者に連絡し対応して頂きました。

    DDNSを無料で提供してくれている管理者の方に感謝します。

    参考サイト
    無料ダイナミックDNS(DDNS)サービス

    MySQL 8.0のクラッシュ、その後

    MySQL 8.0のクラッシュ、その後、MySQL 8.0インストール初期のmy.ini(my.cnf)を使って、mysqldを起動してテストしても、やはりクラッシュします。

    MyISAMとInnoDBの両方のデータベースエンジンで、クラッシュが発生します。
    作成したばかりのデータベースで、「SHOW TABLE STATUS FROM hogehoge」のコマンドでクラッシュが発生します。
    MyISAMのデータベースを選択した場合でも、
    [ERROR] [MY-012856] [InnoDB] InnoDB: MySQL is trying to perform a consistent read but the read view is not assigned!
    [ERROR] [MY-000000] [InnoDB] InnoDB: Assertion failure: row0sel.cc:4603
    とのログが出力されて、mysqldが落ちてしまいます。

    MySQLのバグリポートに「Bug #90694 Server crashes」という同様の現象が報告されているが、解決策は不明です。

    MySQL 8.0ではシステム関連テーブルがInnoDBになっているので、MySQLのシステムに近いレベルで、エラーが発生している様に思えます。
    MySQL 8.0の次のバージョンで改善することを期待したいと思います。

    ※2018/07/04バグリポートについて追記

    xCCKモジュールのデータをXOOPSの検索から利用できる様にする

    xCCKモジュールのデータをXOOPSの検索から利用できる様にする為に、3個のPHPファイルを弄りまた。

    1. html/modules/xcck/search.php
    を新しく設置
    <?php
    /**
    * @file
    * @package xcck
    * @version $Id$
    **/

    if(!defined(‘XOOPS_ROOT_PATH’))
    {
    exit;
    }

    $myDirName = basename(dirname(__FILE__));
    require XOOPS_TRUST_PATH . ‘/modules/xcck/search.php’;

    ?>

    2. xoops_trust_path/modules/xcck/xoops_version.php

    // Search
    //$modversion[‘hasSearch’] = 1;
    $modversion[‘hasSearch’] = 0;

    // Search
    $modversion[‘hasSearch’] = 1;
    //$modversion[‘hasSearch’] = 0;
    に変更

    3. xcckモジュールのアップデートを実行することで、XOOPSの検索対象モジュールとして認識される。

    4.xwordsモジュールの html/modules/xwords/include/search.inc.php 参考にして、
    xoops_trust_path/modules/xcck/search.php
    を変更

    <?php

    eval( ‘

    function xcck_search( $queryarray , $andor , $limit , $offset , $userid )
    {
    return xcck_search_base( $queryarray , $andor , $limit , $offset , $userid ) ;
    }

    ‘ ) ;

    if( ! function_exists( ‘xcck_search_base’ ) ) {

    function xcck_search_base( $queryarray, $andor, $limit, $offset, $userid )
    {

    if(!defined(‘XOOPS_ROOT_PATH’))
    {
    exit;
    }

    if(!defined(‘XCCK_TRUST_PATH’))
    {
    define(‘XCCK_TRUST_PATH’,XOOPS_TRUST_PATH . ‘/modules/xcck’);
    }

    $ret = array();
    // XOOPS Search module

    $sql = “SELECT page_id, category_id, title, content, uid, posttime FROM ” . $xoopsDB -> prefix( “xcck_page” ) . ” WHERE posttime < '".time()."' AND posttime > ‘0’ “;

    if ( $userid != 0 && strlen($userid) < 9) { $sql .= " AND uid = '".$userid."' "; } // because count() returns 1 even if a supplied variable // is not an array, we must check if $querryarray is really an array $count = count( $queryarray ); if ( $count > 0 && is_array( $queryarray ) )
    {
    $sql .= “AND (“;
    for ( $i = 0; $i < $count; $i++ ) { $binary = (preg_match('/^[[:alnum:]]+$/',$queryarray[$i])) ? "":"BINARY"; $sql .= ($i > 0) ? ” $andor ” : “”;
    $sql .= (strlen($userid) > 8) ? “(title LIKE $binary ‘%$queryarray[$i]%’)” : “(content LIKE $binary ‘%$queryarray[$i]%’ )” ;
    }
    $sql .= ‘) ‘;
    }
    $sql .= ‘ORDER BY page_id ASC’;
    $result = $xoopsDB -> query( $sql, $limit, $offset );
    $ret = array() ;
    $context = ” ;
    $i = 0;
    while ( $myrow = $xoopsDB -> fetchArray( $result ) )
    {
    // $ret[$i][‘image’] = ‘images/xw.gif’;
    $ret[$i][‘link’] = ‘index.php?action=PageView&page_id=’.$myrow[‘page_id’];
    $ret[$i][‘title’] = $myrow[‘title’];
    $ret[$i][‘time’] = $myrow[‘posttime’];
    $ret[$i][‘uid’] = $myrow[‘uid’];
    $ret[$i][‘context’] = mb_substr( $myrow[‘content’], 0, 100 );

    $i++;
    }
    return $ret;
    }
    }

    ?>

    なお、xCCKモジュールのほかに以下のモジュールをインストールしています。
    1). lecat(カテゴリ(アクセス管理用))
    2). letag(タグ管理)

    参考サイト
    XOOPS Cube Developer Site – Menu/xcck xCCK – wiki

    MySQLの運用を8.0から5.7に戻した

    ここ一ヶ月程MySQL8.0で運用していましたが、問題がありMySQL5.7に戻しました。

    問題点
    1.MyISAMテーブルのクラッシュにより、MySQLのサービス(mysqld自体)が落ちる。
    これが最大の問題で、長年MySQLを運用しているが初めての経験です。
    MySQLの起動パラメーターの問題なのかは判りません。

    2.パフォーマンス(レスポンス)の低下。
    レスポンス比較(秒)の表
    レスポンス比較(秒)の表
    上の表は、XOOPS Cubeに設置してある「db response checker」のデータを簡単に集計した結果です。
    MySQL8.0での運用だと明らかにWebの応答が遅く感じます。

    あくまでも、テストした非力なサーバ環境での話です。
    テスト環境
    O S:Windows Server 2008R2 x64
    メモリ:2GB
    HDD:1TB(普通のSATA HDD)
    Webサーバ:IIS7.5
    PHP:7.0
    Webアプリ:XOOPS Cube
    ※メモリが少なすぎますね。

サーバ運用情報

現在有効なURLは、通常(http)接続とSSL(https)接続の/xoopscube、/NWiki、/xoopsです。

2017/05/08よりXOOPSをSQL Serverで運用するテストサイトの公開を開始しました。
2014/08/20よりdotnetnukeテスト運用サイトの公開を停止しました。
2014/05/10よりドメイン名を pcboy.dyndns.org から pcboy.dip.jp に変更しました。
2014/04/02よりdotnetnukeテスト運用サイトの公開を開始しました。
2012/02/21より84番ポート接続の/Blogへのアクセスを無効にしました。
2012/02/12より携帯・スマホに対応する機能をONにしました。

2010/09/28より/xoopscubesslのURLを使ったSSL接続を無効にしました。
2009/12/29より古いURLを使ったアクセスを無効にしました。(81番ポートも閉じました)

2009/11/25より24時間運用を実施しています。
深夜の運用停止期間
2009/01/06より22:00-6:00(JST)
2008/08/09より23:00-5:00(JST)

 

Powered by XOOPS Cube 2.2 © 2001-2016 XOOPS Cube Project Distributed by XOOPS Cube 2.2 Distribution Team.