exportDX-v002 でエラー表示 【解決済み】
exportDX-v002 でエラー表示
こんにちは。よろしくお願いいたします。
exportDX-v002 をMODx1.0.2jに導入し、実行したところ以下のメッセージが表示されます。
Warning: Call-time pass-by-reference has been deprecated in /home/liolion/evojs.liolion.net/manager/processors/execute_module.processor.php(114) : eval()'d code on line 161
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of exportDir(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /home/liolion/evojs.liolion.net/manager/processors/execute_module.processor.php(114) : eval()'d code on line 287
導入方法は、それぞれのファイルの中身をプラグイン、モジュールにそれぞれ貼り付けました。
何か他にも設定がありますでしょうか。
また、ワーニングを無視して、「エクスポートの開始」を実行すると以下のメッセージが表示されます。
« MODx Parse Error »
MODx encountered the following error while attempting to parse the requested resource:
« Execution of a query to the database failed - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 »
SQL: SELECT id, alias, pagetitle, isfolder, (content = '' AND template = 0) AS wasNull, editedon FROM `evojliolion`.`modx6_site_content` WHERE parent = 0 AND
どうぞよろしくお願いいたします。
環境は以下です。
Apache
OS Linux 2.6.31.5-aufs2-grsec-1.0-x86_64-xeon #1 SMP Wed Oct 28 09:35:48 PDT 2009 x86_64
PHPのバージョン 5.2.9
セーフモード off
php_sapi_name cgi-fcgi
MySQLのバージョン 5.0.67-log
MySQLホスト情報 mysql.liolion.info via TCP/IP
mysql_get_client_info 5.0.32
MODxのバージョン 1.0.2J
サイトのURL http://evojs.liolion.net/
MODX_BASE_URL /
upload_tmp_dir
memory_limit 90M
post_max_size 8M
upload_max_filesize 7M
exportDX-v002 をMODx1.0.2jに導入し、実行したところ以下のメッセージが表示されます。
Warning: Call-time pass-by-reference has been deprecated in /home/liolion/evojs.liolion.net/manager/processors/execute_module.processor.php(114) : eval()'d code on line 161
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of exportDir(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /home/liolion/evojs.liolion.net/manager/processors/execute_module.processor.php(114) : eval()'d code on line 287
導入方法は、それぞれのファイルの中身をプラグイン、モジュールにそれぞれ貼り付けました。
何か他にも設定がありますでしょうか。
また、ワーニングを無視して、「エクスポートの開始」を実行すると以下のメッセージが表示されます。
« MODx Parse Error »
MODx encountered the following error while attempting to parse the requested resource:
« Execution of a query to the database failed - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 »
SQL: SELECT id, alias, pagetitle, isfolder, (content = '' AND template = 0) AS wasNull, editedon FROM `evojliolion`.`modx6_site_content` WHERE parent = 0 AND
どうぞよろしくお願いいたします。
環境は以下です。
Apache
OS Linux 2.6.31.5-aufs2-grsec-1.0-x86_64-xeon #1 SMP Wed Oct 28 09:35:48 PDT 2009 x86_64
PHPのバージョン 5.2.9
セーフモード off
php_sapi_name cgi-fcgi
MySQLのバージョン 5.0.67-log
MySQLホスト情報 mysql.liolion.info via TCP/IP
mysql_get_client_info 5.0.32
MODxのバージョン 1.0.2J
サイトのURL http://evojs.liolion.net/
MODX_BASE_URL /
upload_tmp_dir
memory_limit 90M
post_max_size 8M
upload_max_filesize 7M
Re: exportDX-v002 でエラー表示
http://www.google.com/search?hl=ja&q=al ... lr=lang_ja
「you can set allow_call_time_pass_reference to true in your INI file」ってのが気になったのでググってみました
関係ないかもしれませんが、phpinfoのここの値はどうなってますか?
追記
exportDir(0, $export_path, &$n);の&$nを「$n」または「1」に書き換えても問題なさそうな気はします
あと161行目のexportDir($row['id'], $dirname."/", &$i);の&$iも$iかな?
「you can set allow_call_time_pass_reference to true in your INI file」ってのが気になったのでググってみました
関係ないかもしれませんが、phpinfoのここの値はどうなってますか?
追記
exportDir(0, $export_path, &$n);の&$nを「$n」または「1」に書き換えても問題なさそうな気はします
あと161行目のexportDir($row['id'], $dirname."/", &$i);の&$iも$iかな?
Re: exportDX-v002 でエラー表示
参照渡しの部分である&$nは、とりえず$nのままでも動作に支障はありません。(1とかはまずいので変数としてください)
これは何をしてるかというとシーケンシャルな番号でして、expportDirからさらにexportDirって感じに再帰呼び出しされたりするので参照渡しにすることによりちゃんとインクリメントされていくっていうことになっています。なので、表示の番号がずっと1と2とかになるぐらいになる話。
で、問題なのはDBのエラーの方ですね。
ロジックからするといけそうなんですけど、グローバルな設定値が渡されないみたいな感じでSELECT文が途中で切れてるように思えます。
上のコピペが正しいとするならばそんな感じですね。
DBのバージョンっていうよりPHPのバージョンが最新っぽいので、そこらへんで仕様が変わったのかも・・。
とりあえず、そこらへんについてちょこっとモジュールを改造してみました。
テストしてませんが、お試ししてもらえますか?
カウンタ周りも参照渡しをやめています。
これでワーニングは出ないはずですが、DBのクエリーエラーがでたら教えてください。
これは何をしてるかというとシーケンシャルな番号でして、expportDirからさらにexportDirって感じに再帰呼び出しされたりするので参照渡しにすることによりちゃんとインクリメントされていくっていうことになっています。なので、表示の番号がずっと1と2とかになるぐらいになる話。
で、問題なのはDBのエラーの方ですね。
ロジックからするといけそうなんですけど、グローバルな設定値が渡されないみたいな感じでSELECT文が途中で切れてるように思えます。
上のコピペが正しいとするならばそんな感じですね。
DBのバージョンっていうよりPHPのバージョンが最新っぽいので、そこらへんで仕様が変わったのかも・・。
とりあえず、そこらへんについてちょこっとモジュールを改造してみました。
テストしてませんが、お試ししてもらえますか?
カウンタ周りも参照渡しをやめています。
これでワーニングは出ないはずですが、DBのクエリーエラーがでたら教えてください。
- 添付ファイル
-
- exportdx-mod.zip
- モジュール修正倍
- (3.74 KiB) ダウンロード数: 544 回
え?
Re: exportDX-v002 でエラー表示
yama さん。ZeRoさん。ありがとうございます。
> yamaさん。
allow_call_time_pass_reference Off
になっています。何か関係するでしょうか。
> ZeRoさん。
添付のmoduleを貼り付けて、実行しましたところ、以下の様なエラーが出ました。
エラー表示だけです。後は白いです。
...なんか私のやり方が違っているような気が。。。
> yamaさん。
allow_call_time_pass_reference Off
になっています。何か関係するでしょうか。
> ZeRoさん。
添付のmoduleを貼り付けて、実行しましたところ、以下の様なエラーが出ました。
コード: 全て選択
Parse error: syntax error, unexpected '=', expecting ',' or ';' in /home/liolion/evojs.liolion.net/manager/processors/execute_module.processor.php(114) : eval()'d code on line 13
...なんか私のやり方が違っているような気が。。。
Re: exportDX-v002 でエラー表示
すいません、ミスってました(^^;
改めて修正版をアップしましたのでこちらでお試しください。
一応、自宅鯖で確認してみたので今度は大丈夫なハズ・・・。寝ぼけてなければw
改めて修正版をアップしましたのでこちらでお試しください。
一応、自宅鯖で確認してみたので今度は大丈夫なハズ・・・。寝ぼけてなければw
- 添付ファイル
-
- exportDX.-v003test-module.zip
- (3.78 KiB) ダウンロード数: 522 回
え?
Re: exportDX-v002 でエラー表示
ZeRoさん。お忙しい中どうもありがとうございます。
エクスポートはエラーなくできるようになりました!ただファイルの接尾辞がついていない状態で、
エクスポートされました。
それと、合体されるテンプレートは、そのドキュメントで使っているものではなくは、グローバル設定の
「デフォルトテンプレート」が適用される。であっていますでしょうか。
すみませんが、どうぞよろしくお願いします。
エクスポートはエラーなくできるようになりました!ただファイルの接尾辞がついていない状態で、
エクスポートされました。
それと、合体されるテンプレートは、そのドキュメントで使っているものではなくは、グローバル設定の
「デフォルトテンプレート」が適用される。であっていますでしょうか。
すみませんが、どうぞよろしくお願いします。
Re: exportDX-v002 でエラー表示
あれ、.htmlとかデフォルトで埋め込まれてるかと思うんですが、その部分はそのようになっています?MEGU さんが書きました:ZeRoさん。お忙しい中どうもありがとうございます。
エクスポートはエラーなくできるようになりました!ただファイルの接尾辞がついていない状態で、
エクスポートされました。
えーと、普通のエキスポートの方は動きますでしょうか?
いえ、普通にサイトにアクセスするのと同じ表示になるはずです。MEGU さんが書きました: それと、合体されるテンプレートは、そのドキュメントで使っているものではなくは、グローバル設定の
「デフォルトテンプレート」が適用される。であっていますでしょうか。
実際のロジックでもURLにアクセスして戻ってきたHTMLを格納します。
ただし、アクセスの仕方がIDつきのGETでドキュメントを引っ張ってくるので、ファイル名はDBのAlias名とPrefixで
作ります。
なので、テンプレートもドキュメントで指定したもので出てくるのが正しいです。
え?
Re: exportDX-v002 でエラー表示
ZeRoさん。ありがとうございます。
すみません。うちの環境の根本的な問題っぽいです。
MODx標準のエクスポートを試してみたのですが、フォルダ(コンテナ)しか書き出されませんでした。
allow_url_fopen は、onにて試みました。
質問の内容が違ってきましたので、とりあえず、この質問は、ここでいったん締め切らせていただき、
別にスレッドを立てさせていただこうと思います。
ZeRoさん。お時間とらせてしまい、すみません。
また戻ってくるかも知れませんが。。
すみません。うちの環境の根本的な問題っぽいです。
MODx標準のエクスポートを試してみたのですが、フォルダ(コンテナ)しか書き出されませんでした。
allow_url_fopen は、onにて試みました。
質問の内容が違ってきましたので、とりあえず、この質問は、ここでいったん締め切らせていただき、
別にスレッドを立てさせていただこうと思います。
ZeRoさん。お時間とらせてしまい、すみません。
また戻ってくるかも知れませんが。。
Re: exportDX-v002 でエラー表示
戻って参りました。
またよろしくお願いいたします。
問題は、以下です。
・接尾辞がつかない状態でエクスポートされる
・テンプレートは、デフォルトテンプレートが適用される。(勘違いでした。すみません。。。)
です。
エキスポート後の画面は、こんな感じです。
次のファイルが削除されました:
* docid_95.pageCache.php
7 個のエクスポート対象リソースが見つかりました...
エクスポートファイル 1個 (1個中)
MODx CMS Install Success, id 1
成功 Skip this document.
エクスポートファイル 2個 (1個中)
メンテナンス中, id 94
成功 Skip this document.
エクスポートファイル 3個 (1個中)
404notfound, id 95
成功 Skip this document.
エクスポートファイル 4個 (1個中)
ホーム, id 97
EXPORT HOST=
成功
エクスポートファイル 5個 (1個中)
リソース3, id 100
EXPORT HOST=
成功
エクスポートファイル 6個 (1個中)
リソース2, id 99
EXPORT HOST=
成功
エクスポートファイル 7個 (1個中)
リソース1, id 98
EXPORT HOST=
成功
またよろしくお願いいたします。
問題は、以下です。
・接尾辞がつかない状態でエクスポートされる
・
です。
はい、.htmlと書き込まれています。あれ、.htmlとかデフォルトで埋め込まれてるかと思うんですが、その部分はそのようになっています?
普通のエキスポートは動きました。。(お騒がせしました)えーと、普通のエキスポートの方は動きますでしょうか?
エキスポート後の画面は、こんな感じです。
次のファイルが削除されました:
* docid_95.pageCache.php
7 個のエクスポート対象リソースが見つかりました...
エクスポートファイル 1個 (1個中)
MODx CMS Install Success, id 1
成功 Skip this document.
エクスポートファイル 2個 (1個中)
メンテナンス中, id 94
成功 Skip this document.
エクスポートファイル 3個 (1個中)
404notfound, id 95
成功 Skip this document.
エクスポートファイル 4個 (1個中)
ホーム, id 97
EXPORT HOST=
成功
エクスポートファイル 5個 (1個中)
リソース3, id 100
EXPORT HOST=
成功
エクスポートファイル 6個 (1個中)
リソース2, id 99
EXPORT HOST=
成功
エクスポートファイル 7個 (1個中)
リソース1, id 98
EXPORT HOST=
成功
Re: exportDX-v002 でエラー表示
えーと、フォーム上ではPrefixの.htmlが入力された状態でエクスポートをしても書き出されるファイル名には、その.htmlがついてないっていう事象ってことでよいですか?
んーー、考えられるとするとエイリアス名に.xxxのように拡張子の指定がされているとprefixを指定していたものを無視して、そのままエイリアス名をファイル名とするようになっているのですが、それぐらいしか思い浮かびません。
もしくは、フレンドリーURLの有効・無効で変わるかもと思ったんですが、どっちも特に変化はありませんでした。
ちなみに、吐き出された情報では特に気になる点としてはEXPORT HOST=の次にエキスポートのホスト名が記述されてなかったんですが、これはわざと消したと思っておいてよいでしょうか?
でなければ、EXPORT HOSTの設定が抜けてるんで、それは別問題ですけど・・・そのぐらいです。
EXPORT HOSTの表示は実はデバックの名残なので、それを取り除いたバージョンを添付しておきます(^^;;
んーー、考えられるとするとエイリアス名に.xxxのように拡張子の指定がされているとprefixを指定していたものを無視して、そのままエイリアス名をファイル名とするようになっているのですが、それぐらいしか思い浮かびません。
もしくは、フレンドリーURLの有効・無効で変わるかもと思ったんですが、どっちも特に変化はありませんでした。
ちなみに、吐き出された情報では特に気になる点としてはEXPORT HOST=の次にエキスポートのホスト名が記述されてなかったんですが、これはわざと消したと思っておいてよいでしょうか?
でなければ、EXPORT HOSTの設定が抜けてるんで、それは別問題ですけど・・・そのぐらいです。
EXPORT HOSTの表示は実はデバックの名残なので、それを取り除いたバージョンを添付しておきます(^^;;
- 添付ファイル
-
- exportDX-0.03.1test.zip
- (4.86 KiB) ダウンロード数: 584 回
え?
Re: exportDX-v002 でエラー表示
ZeRoさん。お忙しいところおつきあいいただいてありがとうございます。
一番新らしく添付していただいた「exportDX-0.03.1test」で試してみましたが、結果は同じでした。
それともう一つ。エキスポート後の「閉じる」のボタンが動作していませんです。
もう一度ダウンロードし直してやり直してみます。
---*---*---*---*---*---
追記
もう一度ダウンロードしてやってみたのですが結果は同じでした。
また1.0.0jで試したところ、モジュールの実行をした時点でruntime errorが表示されました。
内容は、以下です。
接尾辞(.html)がない状態で出力されました。
一番新らしく添付していただいた「exportDX-0.03.1test」で試してみましたが、結果は同じでした。
はい。そうです。試しに、「ファイル名の接頭辞:」をつけて、エクスポートしてみましたが、こちらも、接頭辞がつきませんでした。えーと、フォーム上ではPrefixの.htmlが入力された状態でエクスポートをしても書き出されるファイル名には、その.htmlがついてないっていう事象ってことでよいですか?
いえ。これは、このままの状態です。「EXPORT HOST NAME」のところには、値は入っているのですが。でも、「exportDX-0.03.1test」では、それはでなくなりました。ちなみに、吐き出された情報では特に気になる点としてはEXPORT HOST=の次にエキスポートのホスト名が記述されてなかったんですが、これはわざと消したと思っておいてよいでしょうか?
それともう一つ。エキスポート後の「閉じる」のボタンが動作していませんです。
もう一度ダウンロードし直してやり直してみます。
---*---*---*---*---*---
追記
もう一度ダウンロードしてやってみたのですが結果は同じでした。
また1.0.0jで試したところ、モジュールの実行をした時点でruntime errorが表示されました。
内容は、以下です。
また、0963で試しましたところ、エキスポートはできましたが、1.0.2jの時と同じで、exportDX-v002 - Module runtime error:
An error occurred while loading the module. Please see the event log.
接尾辞(.html)がない状態で出力されました。
Re: exportDX-v002 でエラー表示
もとい。
フレンドリURLがONで、エイリアスパスが「はい」だと、接尾辞がつかず、
「いいえ」だと、「接尾辞」がついて出力されました。
Re: exportDX-v002 でエラー表示
おお、わかりました。
その設定の場合の吐き出すファイル名の生成にミスがあったみたいです。
添付のファイルに置き換えてもらえますか?
フレンドリーURLがONでエリアエスパスが有効になっている場合に起こるみたいです。
その設定の場合の吐き出すファイル名の生成にミスがあったみたいです。
添付のファイルに置き換えてもらえますか?
フレンドリーURLがONでエリアエスパスが有効になっている場合に起こるみたいです。
- 添付ファイル
-
- exportDX-0.03.2.zip
- (4.9 KiB) ダウンロード数: 534 回
え?
Re: exportDX-v002 でエラー表示
でーきーまーしーたーっ。
ありがとうございます。
フレンドリURL はい エイリアスパス はい で、接尾辞付きでエクスポートができました。
ありがとうございます~。
あ、あと、モジュール実行後の閉じるボタンが、動作していません。
ありがとうございます。
フレンドリURL はい エイリアスパス はい で、接尾辞付きでエクスポートができました。
ありがとうございます~。
あ、あと、モジュール実行後の閉じるボタンが、動作していません。
Re: exportDX-v002 でエラー表示
すいません、閉じるボタン あれ 意味がありませんでした(^^;
スルーしといてください。
今回の修正をまとめた次のバージョンでは外しておきます。
スルーしといてください。
今回の修正をまとめた次のバージョンでは外しておきます。
え?
Re: exportDX-v002 でエラー表示 【解決済み】
了解です。
どうもありがとうございました。
どうもありがとうございました。