2016-11-01 7 views
0

PHPウェブサイト(MySQLデータベースにLONGBLOBとして保存されています - 私は知っています)から最大50MBのファイルをアップロードできる必要があります。私はpost_max_size200Mに、upload_max_filesize50Mに増やしました。しかし、はるかに小さいファイルも投稿できませんでした(500 KBは大丈夫ですが、2 MBほどアップロードされません)。post_max_sizeとupload_max_filesizeが増加しても大きなファイルをアップロードすることはできません

これはメモリの問題であると思われます。私はmemory_limit256Mに設定しましたが(非常に小さなファイルしか投稿できなかった元の128Mと比較して)、それでも十分ではありません。私はそれを-1に設定することができましたが、50MBのファイルを投稿するのに十分な特定の値に設定することにしました(これらのうち最大4つを1つのポストに入れます)。

私はそれを設定する必要がありますどのように値を計算する任意のアイデア?あるいは、別のところに問題があるかもしれませんか?

ありがとうございました。

+0

phpinfoがpost_max_sizeとupload_max_filesizeについて教えてくれるものは? – krasipenkov

+0

更新された値が表示されます。 – Pawel

+0

更新後に設定ファイルをリロードしましたか? – Kisaragi

答えて

0

あなたは文の最大サイズは、あなたのクライアントからMySQLへ送信されるものを伝えるクエリを実行する必要があります。

'SET @@global.max_allowed_packet = <bytes>' 

ので、50メガバイトのためにあなたが* 1024 * 1024 50

そして用を持っているでしょうpdo(あなたがpdoを使用している場合):

$db->setAttribute(PDO::MYSQL_ATTR_MAX_BUFFER_SIZE, <bytes>); 
+0

'(LONGBLOBsとしてDBに格納されていました - 悪いですが、私が知っています)'と私はSQLデータベースと仮定しました – krasipenkov

+0

私はMySQLを持っていて、アップロードされたファイルは 'LONGBLOB'sとしてDBに挿入されます。 52428800. – Pawel

+0

と私はあなたがDBにシンプルな選択でその値をチェックしたと思いますか? – krasipenkov

関連する問題