ネタメモ:
php の memory_limit は K、M、Gの単位で設定できる。
メモリをいくらか使う処理の中で、処理に余裕を持たせるため、memory_limit を 2G として設定した。
2G にした理由は ini_set('memory_limit', '1G'); と指定したにもかかわらず、ini_set() の設定が有効に働かず、デフォルトの 128MB で動作していたため。
2G に指定した際の php の設定情報では
$ php -i | grep memory_limit
memory_limit => 2G => 2G
となっていた。
プログラムを実行しようとすると
PHP Fatal error: Allowed memory size of 262144 bytes exhausted at /usr/local/src/php-5.2.6/Zend/zend_opcode.c:48 (tried to allocate 311296 bytes) in /home/user/bin/foo.php on line 476
で止まる。
プログラムの476行目を見ても何の変哲もないただの処理。 if( $value === FALSE) といった処理。
仕舞いには
$ php -l /home/user/bin/foo.php
を実行しただけで
Error parsing /home/user/bin/foo.php
を返し、エラーログには同様のエラーを表示していた。
現象が掴めないままいると、memory_limit に指定できるメモリ上限は 1G までであることが判明。
それ以上を指定しても、phpのシステム内で決定されている最小メモリ数(256K)に自動的に割り当てられるということらしい。
ちなみに 使用していた PHP のバージョンは PHP 5.2.6 (cli)
最近作ったアプリの話
先日、コナミ社の提供している コナステ のダウンロードコンテンツゲームを1クリックで起動できるアプリを作り、公開した。 Ks Game Launcher ( Github ) 作った理由として、インストール時に作成されたショートカットをクリックするとブラウザが起動し、ログインし...
-
GitLab Meetup Tokyo #6 にお邪魔してきました。GitLab Meetup Tokyo自体は今回で6回目ですが、僕自身の参加は恐らく二回目。 GitLabはだいぶ以前から使っているも、gitサーバとして複数人で使用する以外は、IssuesもMRも、一人...
-
スマートフォンが普及してからだいぶ経ち、国外からの旅行者向け、観光誘致も込めてまちなかで使用できるフリーWi-Fiもだいぶ普及が進んできました。 おかげで飲食店などに入り、その店内でWi-Fi経由で調べ物をしたりするのにはとても便利だったりします。 しかし、フリーWi-Fiに接...
-
先日発売されたiPhone7をはじめiPhone6以降の機種で、日本でもようやく、Apple Payが使えるようになりました。 iPhone7は長年ユーザーが待ち望んできた防水対応もさることながら、日本向けiPhone7/7 Plusでは、NFCだけでなくFeliCaを搭載し...