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は再起動しています.
他にどうのような原因が考えられるでしょうか?
宜しくお願いします.

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2006/11/03 22:35:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:kurukuru-neko No.1

回答回数1844ベストアンサー獲得回数155

ポイント35pt

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

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

phtp.confのLimitRequestBodyの値が小さい

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

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

id:tecra

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

2006/10/28 03:21:22
id:yoshifumi1975 No.2

回答回数58ベストアンサー獲得回数10

ポイント35pt

> memory_limit = 20M

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

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

例:

$str = $str . 'abc';

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


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

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

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

id:tecra

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

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

2006/11/01 11:23:18

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません