Archives by date

You are browsing the site archives by date.

【PHP】PHP5.6より2G以上のファイルをアップロード可能に。

PHP5.6の公式リリースを見ると下記の記述がある。

・support for large(>2GiB) file uploads

これによりアップロードファイルの上限が2G以上に変更されている。

てか、今まで2G以上のファイルって上げられなかったんだね。

 

【PHP】PHP5.6から定数定義時に計算させることが可能に。

PHP5.5以前は定数やメンバ定数を定義するときに、計算式を記述すると文法エラーで怒られてしまっていたが、
PHP5.6になり「スカラー値や他の定数を用いた演算子による計算」が許可された。

const DAY = 60 * 60 * 24;

const MONTH = DAY >= 31 ? 'ONE' : 'TWO';

といった感じ。

※計算式の内容に意味は無いのであくまでもイメージとして御覧ください。

 

【PHP】PHP5.6での可変長引数の書き方。

PHP5.6にて実装された可変長引数を受け取れる関数の定義方法めも。

下記例。

function hoge(...$args) {
	var_dump($args);
}

hoge('hello', 'world');

↓

array(2) {
  [0]=>
  string(5) "hello"
  [1]=>
  string(5) "world"
}

キーワード「…」に続けて変数を宣言してやることで引数が可変長になり、受け取った引数を配列で返してくれる。

これはかなり便利。

 

【PHP】スクリプトの実行上限時間を設定する。

メモ。

// PHPの実行上限時間を1時間に設定する
set_time_limit(3600);

※ただしphp.iniの「max_execution_time」が定義されている場合はこちらが優先されるので注意されたし。

 

【MySQL】大量のレコードをJOINする際の注意。

MySQLで1万件を超えるレコードをJOINさせようとするとかなり重くなるので注意。

データ量が多すぎてバッファに載り切らない時、テンポラリ領域を使おうとするのが速度低下の原因。

目安としては1000件くらいから若干重くなり、1万件を超えると激重になるらしい。

JOINerは注意されたし。

 

【PHP】ファイルのアップロードサイズ上限を上げる。

めも。

ファイルアップロード時に大きなファイルを上げたい場合、php.iniの下記項目を修正する。

upload_max_filesize = 128M
post_max_size = 128M

upload_max_filesizeに至っては初期値が2Mだから大きめのCSVを上げたりするとすぐ引っかかるんだよね。

 

【PHP】Maximum execution time of 30 seconds exceededエラーへの対応。

PHPで処理をさせていて、タイトルのようなエラーが出てしまう場合、
php.iniの下記項目をいじればOK。

max_execution_time = 30

初期値は30(秒)となっているのでここを任意の秒数に変更すれば良い。