Select Language
Login
Username:

Password:



Lost Password?

Register now!
Search
Main Menu
Who's Online
12 user(s) are online (7 user(s) are browsing Forums)

Members: 0
Guests: 12

more...
Links

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

  • You cannot open a new topic into this forum
  • Guests cannot post into this forum
Previous post - Next post | Parent - Children.1 .2 .3 .4 .5 .6 .7 | Posted on 2015/3/16 22:12
toddtokyo3    Posts: 56
スキャンして作成したpdfファイルを「新規アイテム登録」のファイルとして登録しようとしていますが、3MB程度までのファイルは出来たものの、大きいものは登録できません。

当フォーラムの運用エラーの「インポートできません」を読んで、phpの設定において「upload_max_filesize」と「post_max_size」の値を 100MBに指定してあります。

4.16MBのpdfファイルを新規アイテム登録しようとすると)
この画面の「登録」という文字の下に以下のメッセージが出て「戻る」オプションになります:
'データファイル' を入力して下さい
xnpUploadFile: cannot move_uploaded_file. files_file to /home/ueno-db/www/Repository/104

更に大きな、例えば
23MBのpdfファイルを新規アイテム登録しようとすると)
画面が変わって殆ど何も無い画面の上段に illegal request と表示されます。

どうしたら、これらのエラーを回避して大きなpdfファイルを登録できるように出来るのかご教示賜りたくお願い申し上げます。

また新規登録画面には以下のように表示されています:
アイテム数(登録数/最大数): 1 / 500
添付ファイル容量(使用済/最大): 0.64MB / 500.00MB

これは1ファイルの最大容量ではなく、合計が500MBですよね?こちらの拡大方法についても、将来のために伺えれば幸甚に存じます。


Votes:0 Average:0.00
Previous post - Next post | Parent - No child | Posted on 2015/3/17 18:46
orrisroot    Posts: 104
お世話になっております。
小さいファイルならばアップロードできるとなれば、疑いがありそうなのは他のPHP設定値です。

参考までに php のバージョンや、safe_mode 値、max_input_time 値あたりはどのような値になってますでしょうか。
Quote:
<?php
var_dump(phpversion());
var_dump(ini_get('sefe_mode'));
var_dump(ini_get('max_input_time'));
な感じの php ファイルを作って、このファイルへアクセスしてみると値が取れます。
max_input_time の値が小さいとアップロードに時間がかかってタイムアウトしてしまう可能性がございます。

なお、添付ファイル容量(使用済/最大): 0.64MB / 500.00MB は、ご推察とおり合計値です。

管理画面 -> XooNIps -> メンテナンス -> ユーザ管理から値を変更したい個人を選んで編集いただくと、各ユーザのプライベートの最大ディスク容量 [MB]を変更できます。

ちなみにPublicで公開されているファイルは、この最大個人容量制限値のカウント対象外となる仕様です。

よろしくお願いいたします。
Votes:0 Average:0.00
Previous post - Next post | Parent - Children.1 | Posted on 2015/3/18 12:58
toddtokyo3    Posts: 56
お世話になります。

phpのversionは 5.3

sql.safe_mode = Off

max_input_time = 60

となっています。
何をどのように変えれば改善されるのかご教示のほどお願い申し上げます。
Votes:0 Average:0.00
Previous post - Next post | Parent - No child | Posted on 2015/3/18 13:08 | Last modified
orrisroot    Posts: 104
情報ありがとうございます。

こちらで確認したかった点として、失敗するサイズ大きめのデータをアップロードするのには1分以上かかっているか否かです。
もし、時間がかかっているようであればこの max_input_time の値が問題の可能性がございます。

設定値を変更できるのであれば max_input_time を目的のファイルをアップロードするのにかかる十分な時間に設定してみてください。

あと、PHP 5.3 ですので、管理画面 → XooNIps → システム設定 → 基本設定でマジックファイルのパスを 空 (指定なし)にしてみてください。

何度もすみません。よろしくお願いいたします。
Votes:0 Average:0.00
Previous post - Next post | Parent - Children.1 | Posted on 2015/3/18 22:55
toddtokyo3    Posts: 56
上記2点試みました(max_input_timeを8倍の480として)が、
これまで出来た3MBの2倍:6MB程度のpdfファイルをアップロードしようとすると30秒でやはり以下のエラーが画面表示されます:
'データファイル' を入力して下さい
xnpUploadFile: cannot move_uploaded_file. files_file to /home/ueno-db/www/Repository/112

こちらこそ、何度も申し訳ありませんが、後は、どこを試したら良いでしょうか?




Votes:0 Average:0.00
Previous post - Next post | Parent - No child | Posted on 2015/3/19 12:01
orrisroot    Posts: 104
すこしデバッグ情報を取得頂いてよろしいでしょうか。

class/utility/formdata.class.php の 122 行目あたりの error occurred の下に エラー番号を出力するコードを埋め込んで頂いて結果をお教えいただけないでしょうか。

Quote:
if ( isset( $val['error'] ) && $val['error'] != 0 ) {
// error occured
var_dump('DEBUG: file upload error: name='.$name.' error='.$val['error']);
return null;
}

これによって DEBUG: file upload error: name=files_file error=??? な感じで出力されると思います。このエラー番号によって↓に記載されるエラー内容が発生していることが特定できます。
http://php.net/manual/ja/features.file-upload.errors.php
取得後は元に戻して頂いて大丈夫です。

あと、最初にお聞きすればよかったのかもしれませんが、差し支えなければお使いのプロバイダやご利用プランなどの情報をお教えいただけないでしょうか。
Votes:0 Average:0.00
Previous post - Next post | Parent - Children.1 | Posted on 2015/3/19 20:59
toddtokyo3    Posts: 56
お手数おかけいたします。

string(49) "DEBUG: file upload error: name=files_file error=1" string(49) "DEBUG: file upload error: name=files_file error=1"

と何故か画面先頭の一行に同じことが2回表示されました。これは何を意味しているのでしょうか?

このXooNipsは サービス名「さくらのレンタルサーバ スタンダード」で Xoops Cube のもとに運用させてもらっています。


引き続き、宜しくお願い申し上げます。
Votes:0 Average:0.00
Previous post - Next post | Parent - Children.1 | Posted on 2015/3/20 11:34
orrisroot    Posts: 104
とりあえずエラー番号1ですので意味をみるとアップロードされたファイルが upload_max_filesize PHP設定値の制限を超えている旨のエラーのようです。

さくらのレンタルサーバであれば、サーバコントロールパネル、アプリケーションの設定、PHP設定の編集 から upload_max_filesize 設定値を変更できないでしょうか。

Quote:
<?
phpinfo();
なファイルを作ってアクセスしてみると、生の設定値一覧が確認できます。

2回出る件については調べてみます。どうぞよろしくお願いいたします。
Votes:0 Average:0.00
Previous post - Next post | Parent - Children.1 | Posted on 2015/3/25 12:46
toddtokyo3    Posts: 56
さくらサーバーのコントロール・パネルに[php.iniの編集]というツールがあってその画面からupload_max_filesize, memory_limit, memory_limitの値をして指定していたのですが、どのようにphp.iniを変えてもupload_max_filesize 設定値を変更できないでいました。
また、上記のファイルも作成して値を見ましたが、各々2M, 128M, 6Mから変更できなかったのですが、結論から言いますと、 ---home/xxx/www/data/modules/xoonips/ の下にもphp.iniファイルが空で存在しているのに気づいて、そちらに指定内容のphp.iniをコピーしたところ、ようやく成功しました。最大100MBのファイルを登録可能に変更しました。

さくらの[php.iniの編集]というツールは---home/xxx/www/のphp.iniをいじっており XooNIpsの見ている php.ini とは別物だったことが、自分がいろいろとパラメーター変更してもエラーを回避できなかった原因と悟りました。

そもそも基本的なPHPの理解不足が原因で申し訳なかったのですが、Xoopsの下にXooNIpsを入れているので、---home/xxx/www/のphp.iniがXoopsに適用されて、---home/xxx/www/data/modules/xoonips/ のphp.iniが XooNIpsに適用されるということだろうと再認識しております。
Votes:2 Average:5.00
Previous post - Next post | Parent - No child | Posted on 2015/3/25 12:57
orrisroot    Posts: 104
ご連絡ありがとうございます。
ともあれ無事登録できたようで良かったです。
これでPHPの設定を変更できるようになったと思いますので、別スレッドのファイル名の文字化けの件も再度お試し頂けるのではないでしょうか。
よろしくお願いいたします。
Votes:0 Average:0.00
Previous post - Next post | Parent - Children.1 | Posted on 2015/3/25 22:57
toddtokyo3    Posts: 56
有難うございます。分ってしまえば簡単なことでも分らない者には眠れなくなるような大問題でした。

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

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

Votes:1 Average:10.00
Previous post - Next post | Parent - No child | Posted on 2015/3/26 12:47
orrisroot    Posts: 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.作成したアイテムのファイルをダウンロードする。
の手順で直ったりしないでしょうか。アップロード時に文字化けが発生している気がしますので、正常に動作しているかどうかにはファイルの再アップロードが必要です。

どうぞよろしくお願いいたします。
Votes:0 Average:0.00
Previous post - Next post | Parent - Children.1 | Posted on 2015/3/26 14:13
toddtokyo3    Posts: 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」 です。

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






Votes:1 Average:10.00
Previous post - Next post | Parent - No child | Posted on 2015/3/26 15:34
orrisroot    Posts: 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 となるようであれば、再度ファイルアップロードしてみた際に変化があるのではないかと思います。

よろしくお願いいたします。
Votes:12 Average:0.00
Previous post - Next post | Parent - Children.1 | Posted on 2015/3/26 20:43 | Last modified
toddtokyo3    Posts: 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についても完全に日本語で見れます。

完璧です!!! 毎度、有効なアドバイス本当に助かります。
誠に有難うございます。
Votes:1 Average:10.00
Previous post - Next post | Parent - No child | Posted on 2015/3/27 12:47
orrisroot    Posts: 104
お世話になっております。
無事問題解決したようでよかったです。
また何かあればお問い合せ下さい。出来る範囲で協力させていただきます。
今後ともよろしくお願いいたします。
Votes:0 Average:0.00

  Advanced search