スキップしてメイン コンテンツに移動

投稿

6月, 2009の投稿を表示しています

php の memory_limit の制限

ネタメモ:
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)

iPhone OS 3.0 提供開始!

ついに一般向けアップデート提供開始来ました!

その内容は既に発表済みでありますが、以下のものとなっているようです。


iPhone OS 3.0 ソフトウェア・アップデート

このアップデートには、以下の機能を含む、100 以上の新機能が含まれています:

• カット、コピー&ペースト、シェイクによる取り消し
• 主要アプリケーションにおける横表示キーボード
• SMS/MMS アプリケーションの強化
- 写真、連絡先、オーディオファイル、および位置情報を MMS で送受信*
- メッセージを 1 つずつ、または複数まとめて転送および削除
• メール、カレンダー、メモ、および iPod 内の検索機能を追加
• iPhone 全体を Spotlight 検索
• カレンダーで CalDAV およびカレンダーの登録をサポート
• Safari の改良
- パフォーマンス
- HTML 5 をサポート
- オーディオおよびビデオの HTTP ストリーミング
- ユーザ名とパスワードの自動入力
• 新しいボイスメモアプリケーション
• Mac または PC と、iTunes 経由でメモを同期
• USB および Bluetooth 経由でインターネットテザリング*
• iTunes Store からムービー、テレビ番組、オーディオブックをブラウズおよびダウンロード**
• ステレオ Bluetooth***
• Wi-Fi 自動ログイン
• 株価アプリケーションの強化
• アプリケーション、ミュージック、ムービー、およびテレビ番組のより詳細なペアレンタルコントロールオプション
• iTunes アカウントの作成およびログイン**
• YouTube アカウントのログインおよび、登録チャンネル、レート、お気に入りへのアクセス**
• シェイクでシャッフル
• 新しい言語、辞書、およびキーボード
• MobileMe で利用可能な“iPhone を探す”および“リモートワイプ”(登録が必要)**
• より多くの Exchange ポリシーをサポート
• Exchange のミーティングの招待を作成および送信
• サーバ上のメールを検索(Exchange Server 2007 およびサポートされている IMAP サーバ)
• LDAP カンパニーディレクトリを検索
• VPN オンデマンドおよび VPN プロキシをサポート
•…