ロリポップでAjaxSearchが動かない。modx1.0.5J-r10 およびr5  【解決済み】

質問全般・改善要望
アバター
min-o
メンバー
メンバー
記事: 291
登録日時: 2009年10月07日(水) 18:32

ロリポップでAjaxSearchが動かない。modx1.0.5J-r10 およびr5  【解決済み】

投稿記事by min-o » 2012年2月16日(木) 18:55

-----
 ホスト&契約タイプ :ロリポップ
 PHP Version 5.2.17
 MySQLサーバのバージョン: 5.1.59-community-log
 modxバージョン : 1.0.5J-r5およびr10
 アドオン : AjaxSearch1.9.2b 
-----

いつもお世話になっております。

modx1.0.5J-r5からr10にアップデートしたのを機に、サイトに検索をつけようとAjaxSearchスニペットコールをしたとろ以下のエラーがでました。
スニペットコールは最低限で[!AjaxSearch? &ajaxSearch=`0`&landingPage=`検索結果ページid`!]
検索結果ページも設定してあります。

« MODx Parse Error »
MODx encountered the following error while attempting to parse the requested resource:
« PHP Parse Error »

PHP error debug
Error: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode
Error type/ Nr.: Warning - 2
File: /home/users/1/holy.jp-gender-sf/web/assets/snippets/ajaxSearch/classes/ajaxSearch.class.inc.php
Line: 78
Line 78 source: set_time_limit($asCfg->cfg['timeLimit']);

Basic info
REQUEST_URI: /about.html
ID: 136
Current Snippet: AjaxSearch
Current Plugin: phx(OnParseDocument)
Referer: http://gender-sf.org/manager/index.php? ... amp;stay=2
User Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.26) Gecko/20120128 Firefox/3.6.26 ( .NET CLR 3.5.30729)

Parser timing
MySQL: 0.0326 s (17 Requests)
PHP: 0.0626 s
Total: 0.0952 s


原因がわからず、バックアップしておいたr5でも試したのですが、同じエラーがでました。

このサイトはmodx0.9.7あたりからちょこちょことアップデートを繰り返しているため、古いデフォルトテンプレート MODxHostWithComments などが残ってます。
MODxHostWithComments を使うと「AjaxSearchはパラメータが変わったので、ajaxSearch_version_192.txtを見よ」と英文が出ていたので、指示に従って
パラメータ名を変更したところ、MODxHostWithCommentsテンプレートでも同じエラーが出るようになりました。

以前からAjaxSearchを使用していた別のサイト(さくらのレンタルサーバー使用)では、r5からr10にアップデートしても
問題なくAjaxSearchは使えているので、レンサバの問題かもしれません。

さくらのサーバー情報は以下です
-----
 ホスト&契約タイプ :さくら ビジネスプロ
 PHP Version 5.2.17
 MySQLサーバのバージョン: 5.1.51-log
 modxバージョン : 1.0.5J-r5およびr10
 アドオン : AjaxSearch1.9.2b
-----

ロリポップサーバーのサイトの検索はすぐに必要なわけではないのですが、あると便利なので使えるならAjaxSearchを使いたいです。
よろしくお願いします。
アバター
yama
管理人
記事: 2878
登録日時: 2009年7月29日(水) 02:50

Re: ロリポップでAjaxSearchが動かない。modx1.0.5J-r10 およびr5

投稿記事by yama » 2012年2月16日(木) 20:03

assets/snippets/ajaxSearch/classes/ajaxSearch.class.inc.php
78行目あたりの
set_time_limit($asCfg->cfg['timeLimit']);
上記の行を削除してみてください(特に重要な処理ではないです)
アバター
min-o
メンバー
メンバー
記事: 291
登録日時: 2009年10月07日(水) 18:32

Re: ロリポップでAjaxSearchが動かない。modx1.0.5J-r10 およびr5

投稿記事by min-o » 2012年2月17日(金) 11:22

>yamaさん
返信ありがとうございます。

指示通り
set_time_limit($asCfg->cfg['timeLimit']);
をコメントアウトしたら、ロリポップサーバーでもajaxモード、non-ajaxモードとも問題なく動くようになりました!

ありがとうございました :D
アバター
min-o
メンバー
メンバー
記事: 291
登録日時: 2009年10月07日(水) 18:32

Re: ロリポップでAjaxSearchが動かない。modx1.0.5J-r10 およびr5

投稿記事by min-o » 2012年2月17日(金) 12:04

さくらサーバーでも、同じ行をコメントアウトしてみましたが、コチラもr5、r10とも問題なく動きました。

----おまけ 1.9.2での全角スペースでも検索する方法----
旧バージョンのAjaxSearchファイルを整理していて気が付いたのでメモします。

以前ここを参考に
http://forums.modx.com/?action=thread&thread=56127
全角スペースでも検索できるようにsearch.class.inc.php修正しましたが、1.9.2ではこのファイルがなくなりました。
新たな修正箇所は
ajaxSearchInput.class.inc.php 223行目

$searchString = $this->_stripTags($searchString);
の下に
// zenkakuhankaku space
$searchString=mb_convert_kana($searchString, s, "UTF-8");

をいれれば全角スペースを自動で半角スペースに変換してくれます。
アバター
yama
管理人
記事: 2878
登録日時: 2009年7月29日(水) 02:50

Re: ロリポップでAjaxSearchが動かない。modx1.0.5J-r10 およびr5

投稿記事by yama » 2012年2月17日(金) 14:26

ありがとうございます

http://modx.jp/docs/extras/snippets/aja ... stall.html
配布場所が分かりにくいですが、上記のバージョンだとすでに対応済みだったと思います(他にも数ヶ所修正してます)
アバター
min-o
メンバー
メンバー
記事: 291
登録日時: 2009年10月07日(水) 18:32

Re: ロリポップでAjaxSearchが動かない。modx1.0.5J-r10 およびr5

投稿記事by min-o » 2012年2月17日(金) 18:35

>yamaさん
ajaxSearch192c.zip をダウンロードしてアップしました。
r10、r5とも全角スペースの検索、修正せずに問題なく動きました。
ありがとうございます。
※ロリポはajaxSearch.class.inc.php の修正必須

ダウンロードページ
http://code.google.com/p/modx-evo-extra ... ajaxsearch
の記述ですが

2. snippet.ajaxSearch.tplをテキストエディタを開き、内容を全選択し、

これは192bに入っている snippet.ajaxSearch.txt のことですね。
拡張子が.tplになっているのと、192cセットには同梱されていないので、わからない人もいると思うので修正したほうがよいと思います。