FuelPHPを使った検索システムでキーワード検索を行った際にメモリ不足のエラー(Fatal error: Allowed memory size of)が出ると御連絡いただいたので詳細調べてみました。
エラー確認
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2 bytes) in /usr/home/xxxxxx/fuel/core/classes/database/pdo/connection.php on line 311
PHP設定確認 memory_limit
php.ini で設定されている “memory_limit” の設定項目を確認してみたところ “128M” となっていました。
php.ini 作成
設定上書き用の php.ini ファイルがありませんでしたので、新規に作成しメモリサイズの上書き用の以下一行を加えて保存しました。
memory_limit = 256M
.htaccess に php.ini のパスを追加
作成した php.ini の設定内容を有効にするため .htaccess に php.ini が置かれたディレクトリまでのパスを追加しました。
suPHP_ConfigPath /usr/home/xxxxxx/html/
PHP設定変更確認
phpinfo() で設定内容を出力し “memory_limit” の値が “512M” になっていることを確認します。
<?php phpinfo(); ?>
変更後の動作確認
設定変更後は特にエラーもなく問題なく動くようになりました。今回はメモリ設定を変えることで対応しましたが、根本的にロジックに問題がある可能性もありますので、改めて詳細確認をした方がいいですね。
動作環境情報
CPI シェアードプラン ACE01 PHP 5.5.27
コメント