Select Language
ログイン
ユーザ名:

パスワード:



パスワード紛失

新規登録
検索
メインメニュー
オンライン状況
1 人のユーザが現在オンラインです。 (1 人のユーザが フォーラム を参照しています。)

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

もっと...
関連リンク

新規アイテム登録のサイズ

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2015/3/25 22:57
toddtokyo3    投稿数: 56
有難うございます。分ってしまえば簡単なことでも分らない者には眠れなくなるような大問題でした。

実は、ファイル名の文字化けの件も同様に試しましたが、こちらは結果は残念ながら変わらずでした。相変わらず、日本語のファイル名は未サポートとしておきます。

ついでにもう一言書きますと、[ XooNIps 設定 »» システム設定 »» 動作確認 ] はさくらレンタルサーバー(standard)の場合は、上記の---home/xxx/www/のphp.ini の方を見ているようです。環境によっては同じなのでしょうが、こちらのサーバーでXoopsの下にXooNIpsを入れた私の環境では異なりますので、問題になっていたupload_max_filesizeもそちらを信じていました。xoonipsの中のphp.iniに指定がある場合はそちらの値を表示するべきと思いました。

投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015/3/26 12:47
orrisroot    投稿数: 104
お世話になっております。

ということは、想像ですが、もし、
home/xxx/www/php.ini

home/xxx/www/data/modules/xoonips/php.ini
が toddtokyo3 様のサイト運用上のポリシーとして同じ値でも構わないのであれば、後者の
home/xxx/www/data/modules/xoonips/php.ini
を消してしまえばいいのではないでしょうか。

この理屈で類推するに XooNIps 設定 »» システム設定 »» 動作確認 は xoonips/admin ディレクトリ下で実行しますので
home/xxx/www/data/modules/xoonips/admin/php.ini
を作るとまた挙動が変わる気がします。

また、この設定チェック機能は ini_get - http://php.net/manual/ja/function.ini-get.php という関数の機能を用いて、実行されているスクリプトのPHPの環境をそのまま表示していますので読み込む設定ファイルの場所の指定はできない状態です。
XooNIps を改修して直る話ではなさそうです。

あと、ファイルアップロードですが、
1.home/xxx/www/data/modules/xoonips/php.ini を消す
2.サーバコントロールパネルから php 設定値 mbstring.detect_order を auto にする
3.XooNIps 設定 »» システム設定 »» 基本設定 の マジックファイルのパスを空にする
4.XooNIps 設定 »» システム設定 »» 動作確認 で再テストを実施し、以下となることを確認する。
mbstring.detect_order : ASCII,JIS,UTF-8,EUC-JP,SJIS : OK
..
Magic file path : (empty) : OK
5.アイテムを新規作成して、日本語ファイルをアップロードする。
6.作成したアイテムのファイルをダウンロードする。
の手順で直ったりしないでしょうか。アップロード時に文字化けが発生している気がしますので、正常に動作しているかどうかにはファイルの再アップロードが必要です。

どうぞよろしくお願いいたします。
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2015/3/26 14:13
toddtokyo3    投稿数: 56
有難うございます。しかし、おっしゃっていることが十分に理解できていないと思いますので、各々そのままご回答します:
Q1)home/xxx/www/php.ini

home/xxx/www/data/modules/xoonips/php.ini
が toddtokyo3 様のサイト運用上のポリシーとして同じ値でも構わないのであれば、後者の
home/xxx/www/data/modules/xoonips/php.ini
を消してしまえばいいのではないでしょうか。

A1)
同じで構いませんので、現在おなじphp.ini をそこに置いています。それ以前は後者の php.ini はファイルが中身なしで存在している、つまりXooNIps導入時のままでした。

Q2)また、この設定チェック機能は ini_get - http://php.net/manual/ja/function.ini-get.php という関数の機能を用いて、実行されているスクリプトのPHPの環境をそのまま表示していますので読み込む設定ファイルの場所の指定はできない状態です。

A2)自分が検証した結果は、この値は先程の言葉で言うと、前者の指定を表示しており、実際に機能したパラメーター値は後者のでした。

Q3)あと、ファイルアップロードですが、
1.home/xxx/www/data/modules/xoonips/php.ini を消す
2.サーバコントロールパネルから php 設定値 mbstring.detect_order を auto にする
3.XooNIps 設定 »» システム設定 »» 基本設定 の マジックファイルのパスを空にする
4.XooNIps 設定 »» システム設定 »» 動作確認 で再テストを実施し、以下となることを確認する。
mbstring.detect_order : ASCII,JIS,UTF-8,EUC-JP,SJIS : OK
..
Magic file path : (empty) : OK
5.アイテムを新規作成して、日本語ファイルをアップロードする。
6.作成したアイテムのファイルをダウンロードする。
の手順で直ったりしないでしょうか。アップロード時に文字化けが発生している気がしますので、正常に動作しているかどうかにはファイルの再アップロードが必要です。
A3)1番目の項目はそれを消すのではなくて、ここに必要な値を入れない限りできないというのが結論でした。また、2番も、サーバーコントロールパネルから変えても XooNIpsには何ら影響を与えない。
「 » mbstring.detect_order : ASCII,UTF-8 : OK」 です。

上記の状態でファイルを再アップロードしてもやはりそれをダウンロードするときには日本語のファイル名は文字化けしています。






投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015/3/26 15:34
orrisroot    投稿数: 104
お世話になっております。

Q1)の php.ini を消すとは、ファイルを空にするのではなくて、ファイル自体を削除するという意味です。

Q2) で言いたかったのは
http://php.net/manual/ja/configuration.file.php
を見る限り、CGIモードで動いており、

PHP スクリプトのおいてあるフォルダに php.ini があればその設定を読む。逆にそのフォルダに php.ini が存在しない場合は、デフォルトである home/xxx/www/php.ini ファイルを読む。という動作になっているのではないかと。

つまり、XooNIpsのデータ登録URLのスクリプト実体は
home/xxx/www/data/modules/xoonips/register.php
であり、同じフォルダに php.ini
home/xxx/www/data/modules/xoonips/php.ini
が存在するのでこの php.ini ファイルの設定の影響を受ける。

一方、設定確認URLのスクリプト実体は
home/xxx/www/data/modules/xoonips/admin/system.php
であり、こちらに同じ階層のフォルダに php.ini が無いのでデフォルトの
home/xxx/www/php.ini
の設定の影響を受ける。

この挙動ならば、
home/xxx/www/data/modules/xoonips/php.ini
のファイル自体が存在しなければ、デフォルトの
home/xxx/www/php.ini
を読むことになるので、xoonips 側の php.ini のファイルを削除すれば余計な混乱を招かなくていいのではないかと思った次第です。

もし、xoonips/php.ini のファイル自体を削除することができないならば、お知らせいただいている通り設定変更の都度中身をコピー頂く必要があるかと思います。

Q3) については、mbstring.detect_order の結果に UTF-8 と SJIS が含まれない限り症状は変化しないと思います。明示的に、
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.detect_order = ASCII,JIS,UTF-8,EUC-JP,SJIS
としてみると、mbstring.detect_order のテスト結果が変わらないでしょうか?もし結果が変わって ASCII,JIS,UTF-8,EUC-JP,SJIS となるようであれば、再度ファイルアップロードしてみた際に変化があるのではないかと思います。

よろしくお願いいたします。
投票数:18 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2015/3/26 20:43 | 最終変更
toddtokyo3    投稿数: 56
毎々お世話になります。

xoonips/php.ini のファイル自体を削除することで、2つのphp.iniが一元管理されていること、実際に確認しました。

また、Q3) については、ご指摘の通り
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.detect_order = ASCII,JIS,UTF-8,EUC-JP,SJIS
と明示的に書き込むことで結果が変わりました。
日本語のファイル名が文字化けせずに download 可能になりました。しかも、嬉しいことに今まで登録されていた fileについても完全に日本語で見れます。

完璧です!!! 毎度、有効なアドバイス本当に助かります。
誠に有難うございます。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015/3/27 12:47
orrisroot    投稿数: 104
お世話になっております。
無事問題解決したようでよかったです。
また何かあればお問い合せ下さい。出来る範囲で協力させていただきます。
今後ともよろしくお願いいたします。
投票数:0 平均点:0.00
  条件検索へ