はじめに
php-cgiで動かすPHPアプリケーションのアップロード設定を、当時の組み込みLinux環境で確認したメモです。
Apache向けが多いのでLighttpd向けに
組み込みLinuxで軽量・簡単にWEBアプリケーションを作る人の選択肢が多いと思われます。
スタンドアロンな製品に簡易操作メニューを作りたい場合とか
当時、先に押さえたこと
次の2点を忘れないように、作業時点でメモしました。
・lighttpdでは.htaccessは使えない
・lighttpd.confではphp.iniで設定する内容を記述できない
環境・条件
事前にLighttpdでPHP(php-cgi)が動いていること
(phpコマンドが入っていなくてもよい)
- WEBサーバー
- lighttpdを使用
- PHP version
- ver 5.6
php.iniを修正
php.iniは5.6デフォルトから必要なパラメータだけを修正しました。
デフォルトのphp.ini(5.4~5.6、7.0~7.3)が公開されているページを参照しました。
https://webhost.ai/download-default-php-ini-files/
版数が多いため、対象版のファイルをローカルにも保存しておきます。
当時はデフォルトの128Mから256Mへ変更しました。
ファイルサイズが大きいと時間がかかるため、タイムアウト時間も調整します。
以下のパラメータで変更可能
memory_limit = 256M
post_max_size = 256M
upload_max_filesize = 256M
default_socket_timeout = 180
変更値は、次の関係を満たすようにします。等号でも構いません。
memory_limit >= post_max_size >= upload_max_filesize
修正した個所の解説
; L411 (default 128M
; メモリ使用量の上限 単位をつけること
memory_limit = 256M
L679 (default 128M
; POSTデータの最大サイズ 単位をつけること
post_max_size = 256M
L811(default 128M
; 1ファイルあたりの最大アップロードサイズ 単位をつけること
upload_max_filesize = 256M
L839 (default 60
; タイムアウト時間の変更 単位は秒、何もつけない
; 大きいデータは時間掛かるのでデフォルト60だと短い場合が発生してしまうことがある
default_socket_timeout = 180