人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで,CSVファイルをアップロード後,処理してDBへ登録するスクリプトを作成しています.
CSVファイルは,356KB,422KB,2.5MBの三つのファイルを同時にアップロードしているのですが,最初の二つは全て登録でき,2.5MBのファイルは途中までのデータしか登録できません.別サーバでは問題なく登録できたので,PHPかHTTPDの設定の問題だと思うのですが,php.iniの設定は,
memory_limit = 20M
post_max_size = 16M
upload_max_filesize = 16M
としているので,問題ないように思います.
なお,httpdは再起動しています.
他にどうのような原因が考えられるでしょうか?
宜しくお願いします.

●質問者: tecra
●カテゴリ:インターネット ウェブ制作
✍キーワード:CSV dB httpd PHP アップロード
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kurukuru-neko
●35ポイント

Apacheであればphp.confが原因の

以下URLと同じ理由ではありませんか?

phtp.confのLimitRequestBodyの値が小さい

http://fumika.jp/nikki/2005/02/php-request-limit

http://www.7key.jp/hp/php/memo3.html

◎質問者からの返答

ありがとうございます.試してみます.


2 ● yoshifumi1975
●35ポイント

> memory_limit = 20M

2.5MBのCSVファイルといえども、処理内容によっては数十メガ必要になることもあります。

処理内容が分からないので何とも言えませんが、20Mでは少なくないですか?文字列操作は思った以上にメモリを消費します。

例:

$str = $str . 'abc';

大雑把に言ってこれだけで、文字列のメモリが2倍消費されます。


100MB程度で一度試してみてはいかがでしょうか?

あと、/var/log/httpd/ などの下に、エラーログが出ていると思いますので見てみてください。

http://q.hatena.ne.jp/ (リンクはダミーです。)

◎質問者からの返答

ありがとうございます.試してみます.

ただ,root権限がないのでログは管理者に問い合わせないと見られないのが難点なのです.

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ