Qwebを有効にしてPHPアップローダでどれだけ大きなファイルが転送できるか試して見ようと思いphp.iniのデフォルト設定を確認。(php.iniの編集はQNAP管理画面から可能)
よくPHPアップローダで聞く2MB(3MB)の壁は、upload_max_filesize =2 MBとか3MBになっているためなので、upload_max_filesize =100MBとかに設定して試しに22MBのファイルをアップロードしてみる。
するとアップロードに失敗というか終わらずタイムアウトになる。何となく即切りされてるっぽい気もするので、もう少し調べてみると、post_max_sizeその他の設定が影響することが分かった。ネットの情報でここまで書いてあったところはあまりなさそう。レンタルサーバなどではほぼ触れない値だからだろう。
マニュアルより。
post_max_size integer
POSTデータに許可される最大サイズを設定します。この設定は、ファ イルアップロードにも影響します。大きなファイルをアップロード するには、この値を upload_max_filesize より大きく設定する必要があります。 configureスクリプトでメモリ制限を有効とした場合、memory_limitも ファイルアップロードに影響します。一般的に memory_limit は、 post_max_size よりも大きく する必要があります。
php.iniを修復してTS-219Pの各デフォルト値を調査。
upload_max_filesize = 16M
post_max_size = 16M
memory_limit = 64M
QNAPはRAM512MBなので、memory_limitは変更しない前提で考えると、例えばpost_max_sizeとupload_max_filesizeは32MBくらいまでに変更できそうな気が。
で、試しに
upload_max_filesize = 32M
post_max_size = 32M
memory_limit = 64M
に変更したら先の22MBはアップロードOKになった。
大容量アップロード専用にx86サーバを用意しないとダメっぽい。SUPERMICRO X7SPA-HFなんかが、ハード的にもおもしろそう。これに低速でも良いのでSSD32GBあたりを乗せる。でもminiITXの小さな筐体があまり見あたらない。少し探してみよう。
One thought on “QNAPへのPHPアップローダ実装テスト”