トップページ > 記事閲覧
【トラブル】#search2でQBlogの内容が検索にヒットせず
投稿日 : 2017/04/17(Mon) 19:45
投稿者 Yujiro
参照先
検索用プラグイン #search2のこと。

install.phpにて新規サイトを作りました。現在HAIK 7.0.2。

そのサイトで#search2 を使ってみるとQBlogの内容のみがヒットしません。

同一サーバー(同一ドメイン)上にある、古くから使っていて順次VerUPでHAIK7.0.2に
なったサイトは#search2で問題なく検索できています。

ちなみに、旧来の#searchの方は新サイトでも正常に作動しています。

#searchはAND ORの条件検索が可能ですが、スマホなどでも見やすくするため、
もっと簡易な#search2を使いたいところです。

ただ、#search2で検索不良なサイトではQBlogに関するアクセス権限を設けています。
このあたり、もしかしたら条件かもです。

そういえば、HAIKの初期Verでは#search系でトラブルがあった記憶が・・
旧フォーラムが消されたために何もわからなくなりました。
記事編集 編集
Re: 【トラブル】#search2でQBlogの内容が検索にヒットせず
投稿日 : 2017/06/24(Sat) 00:15
投稿者  Yujiro
参照先
うみほしさんお疲れさま。

閲覧者の方々に留意を願いたいのですが、すでにスレッドタイトルと
異なった話題が進行し、それが解決に至っています。

初めから読んでいただく場合には混乱なきようお願いいたします。

2017/06/21(Wed) 21:15 の投稿から話題が変わっています。
記事編集 編集
Re: 【トラブル】#search2でQBlogの内容が検索にヒットせず
投稿日 : 2017/06/23(Fri) 17:51
投稿者 うみほし
参照先 http://umihoshi.com
7.0.4で修正されました。
動作確認できましたので解決です。
記事編集 編集
Re: 【トラブル】#search2でQBlogの内容が検索にヒットせず
投稿日 : 2017/06/23(Fri) 14:30
投稿者 うみほし
参照先 http://umihoshi.com
開発者より原因が特定できたそうなので,転載しておきます。

(引用)
調査により原因が分かりました。

問題となっている箇所は [ここ](https://github.com/open-qhm/qhm/blob/master/plug
in/search.inc.php#L144)と[ここ](https://github.com/open-qhm/qhm/blob/maste
r/plugin/search2.inc.php#L203)の `mb_ereg_replace` 関数でした。

`mb_ereg_replace` は `mb_regex_encoding` 関数の値をもとにエンコーディングを判
別して置換処理を行いますが、渡す文字列とそのエンコーディングにミスマッチがある
と正常に処理ができず `NULL` を返します。
これを防ぐには渡す文字列とそのエンコーディングを合わせる必要があります。

HAIK では通常 `UTF-8` エンコーディングを使用しますが、 `mb_regex_encoding` の
ケアが不十分だったことがエックスサーバーでミスマッチが発生する原因でした。
エックスサーバーは php.ini に設定されている `mbstring.internal_encoding` がデ
フォルトで `EUC-JP` になっているため、初期化処理で `mb_internal_encoding("UTF-
8")` と明示しても、 `mb_regex_encoding("UTF-8")` とは明示していなかったため、
`mb_regex_encoding = EUC-JP` になってしまい、上述のミスマッチが発生したようで
す。
記事編集 編集
Re: 【トラブル】#search2でQBlogの内容が検索にヒットせず
投稿日 : 2017/06/22(Thu) 10:06
投稿者 いしまる◆vOmCuTAP2Tw
参照先 http://haik.oi21.net/
PHPは同じバージョンでもオプションが多いので、動いている
サーバーや管理会社が違えば、動きも変わってくると思います。
WEBサーバーのエラーログやアクセスログを確認すると
何か分かるかもしれませんね。
記事編集 編集
Re: 【トラブル】#search2でQBlogの内容が検索にヒットせず
投稿日 : 2017/06/22(Thu) 10:02
投稿者  Yujiro
参照先
ところが「さくらサーバー」ではPHP 7.1.4で問題なしに検索が働いていんですよねー。(HAIK7.0.2)

ちなみに「さくらサーバーPHP 7.1.4」の細かいVer記述は以下の通り。

PHP 7.1.4 (cgi-fcgi) (built: Apr 17 2017 11:52:03)
記事編集 編集
Re: 【トラブル】#search2でQBlogの内容が検索にヒットせず
投稿日 : 2017/06/22(Thu) 09:31
投稿者 いしまる◆vOmCuTAP2Tw
参照先 http://haik.oi21.net/
PHPの情報を見ると、PHP 7.0.x から PHP 7.1.x への移行のページで

このマイナーバージョンアップには数多くの 新機能 があります。
また、 互換性がない変更 が多少あるので、実運用環境の PHP を
このバージョンにあげる前にはテストすべきです。

http://php.net/manual/ja/migration71.php

安定稼働を考えた場合は、7.0から7.1の様な2つ目の
数値が変わる部分は、互換性の無い変更もあるので気をつける
必要があります。
以下にざっくりですが、バージョン表記の一般的な規則について
記述があります。

https://okwave.jp/qa/q8928885.html
記事編集 編集
Re: 【トラブル】#search2でQBlogの内容が検索にヒットせず
投稿日 : 2017/06/22(Thu) 05:37
投稿者 うみほし
参照先 http://umihoshi.com
Yujiroさん

 確かにPHPをさげたら動作しました。
とりあえず解決しました。ありがとうございます。
開発の方にもエラー報告を上げておきました。
記事編集 編集
Re: 【トラブル】#search2でQBlogの内容が検索にヒットせず
投稿日 : 2017/06/22(Thu) 00:13
投稿者  Yujiro
参照先
うみほしさん

Xserver上でざっと見ましたが、PHP 7.1.4では検索が効きませんね。(HAIK 7.0.2)
そこでPHPを7.0.18にVreダウンしてみたら検索が動きます。

ちなみに、さくらサーバーではPHP7.1.4でも検索は問題なし。

ううむ、微妙だ、微妙すぎる。
記事編集 編集
Re: 【トラブル】#search2でQBlogの内容が検索にヒットせず
投稿日 : 2017/06/21(Wed) 21:15
投稿者 うみほし
参照先 http://umihoshi.com
今日試した見たら,私のサイトでも検索がまったくヒットしなくなっていました。
 最新版です。

 #search も #search2もダメです。

パスワードをかけたページはありません。

思い当たる変更点は高速化対策ぐらいしか思い当たりません。
これが影響しているのでしょうか?

(追記)高速化設定外して試しましたが,関係なかったです。いつから検索不能になっていたのでしょう?
記事編集 編集
Re: 【トラブル】#search2でQBlogの内容が検索にヒットせず
投稿日 : 2017/04/19(Wed) 17:44
投稿者 Yujiro
参照先
わかってきました。
#search2によるQBlog検索不能の理由。

結論として、やはり懸念していた「アクセス権限」の設定が検
索の邪魔をしているようです。

現状、アクセス権限としてページ名に「QBlog」を含むものに
対する閲覧にユーザー名、パスワードによるログインを求めて
います。

これによってQBlogのトップページを含め、ブログの記事を読
むにはログインが必要な状態。

そこで私はブログ専用のメニューに#search2を設置。こうすれ
ば、そもそもログインしていない人は#search2を使うこともあ
りません。

しかしこれだと見事にQBlogは検索からはねられます。

これはある条件下においては正解な仕様かもですが、すでにロ
グインしている人から見れば問題になりそう。

ところが一方、旧来の#searchではアクセス権限設定ありの
QBlog内も検索可能なのです。

アクセス権限と検索結果の微妙な関係、#searchから#search2
で仕様が微妙に変わってしまっています。

アクセス権限を設定されていて、かつ#search2をお使いの方は
要注意。

#searchは検索結果に記事タイトルのみの表示。
#search2は記事タイトルと検索文字が含まれる本文の一部も表示。

このような仕様の違いからアクセス権限ページの検索可否として仕様が決まっていそう。
記事編集 編集
Re: 【トラブル】#search2でQBlogの内容が検索にヒットせず
投稿日 : 2017/04/19(Wed) 15:13
投稿者 Yujiro
参照先
いしまるさん

今テストしました。

zipファイル解凍でFTPによるアップロード
install.phpによるインストール

完全新規インストールはどちらも#search2でQBlogの内容が検索できました。
よってinstall.php固有の問題ではないですね。

今問題になっているサイトだけが#search2によるQBlog検索不能ですね。
条件がわからん・・・#searchは問題がないのに・・・

作りたててで一般ページ2本、ブログ記事3本という初期状態からちょっと触っただけなのに・・・
特別なカスタマイズは何もないのに・・・
記事編集 編集
Re: 【トラブル】#search2でQBlogの内容が検索にヒットせず
投稿日 : 2017/04/19(Wed) 09:07
投稿者 いしまる◆vOmCuTAP2Tw
参照先 http://haik.oi21.net/
zipファイルを展開してFTPでアップロードした
lolipopサーバー。HAIKは現在7.0.2ですが、
検索は出来ました。
記事編集 編集
件名 スレッドをトップへソート
名前
メールアドレス
URL
画像添付


暗証キー
画像認証 (右画像の数字を入力) 投稿キー
コメント

- WEB PATIO -