PHP5.6の公式リリースを見ると下記の記述がある。
・support for large(>2GiB) file uploads
これによりアップロードファイルの上限が2G以上に変更されている。
てか、今まで2G以上のファイルって上げられなかったんだね。
PHP5.6の公式リリースを見ると下記の記述がある。
・support for large(>2GiB) file uploads
これによりアップロードファイルの上限が2G以上に変更されている。
てか、今まで2G以上のファイルって上げられなかったんだね。
PHP5.5以前は定数やメンバ定数を定義するときに、計算式を記述すると文法エラーで怒られてしまっていたが、
PHP5.6になり「スカラー値や他の定数を用いた演算子による計算」が許可された。
const DAY = 60 * 60 * 24; const MONTH = DAY >= 31 ? 'ONE' : 'TWO';
といった感じ。
※計算式の内容に意味は無いのであくまでもイメージとして御覧ください。
PHP5.6にて実装された可変長引数を受け取れる関数の定義方法めも。
下記例。
function hoge(...$args) { var_dump($args); } hoge('hello', 'world'); ↓ array(2) { [0]=> string(5) "hello" [1]=> string(5) "world" }
キーワード「…」に続けて変数を宣言してやることで引数が可変長になり、受け取った引数を配列で返してくれる。
これはかなり便利。
メモ。
// PHPの実行上限時間を1時間に設定する set_time_limit(3600);
※ただしphp.iniの「max_execution_time」が定義されている場合はこちらが優先されるので注意されたし。
MySQLで1万件を超えるレコードをJOINさせようとするとかなり重くなるので注意。
データ量が多すぎてバッファに載り切らない時、テンポラリ領域を使おうとするのが速度低下の原因。
目安としては1000件くらいから若干重くなり、1万件を超えると激重になるらしい。
JOINerは注意されたし。
めも。
ファイルアップロード時に大きなファイルを上げたい場合、php.iniの下記項目を修正する。
upload_max_filesize = 128M post_max_size = 128M
upload_max_filesizeに至っては初期値が2Mだから大きめのCSVを上げたりするとすぐ引っかかるんだよね。
PHPで処理をさせていて、タイトルのようなエラーが出てしまう場合、
php.iniの下記項目をいじればOK。
max_execution_time = 30
初期値は30(秒)となっているのでここを任意の秒数に変更すれば良い。