phpを5.6.27から5.6.28にあげた際に以下のerrorが発生しました。
Fatal error: Allowed memory size of 402653184 bytes exhausted (tried to allocate 4294964625 bytes) in /home/ap2/public_html/ero/toukei_kaiseki/index.php on line 20
line 20には
session_start();
と書いてあります。
コマンドラインから実行しても以下のとおりでした。
$ php -r "session_start();"
PHP Fatal error: Allowed memory size of 402653184 bytes exhausted (tried to allocate 4294965058 bytes) in Command line code on line 1
Fatal error: Allowed memory size of 402653184 bytes exhausted (tried to allocate 4294965058 bytes) in Command line code on line 1
環境は以下のとおりです。
CentOS 6
php56w-5.6.28
php56w-pecl-memcache-3.0.8-2
結論から書くと、php56w-pecl-memcache-3.0.8をやめてphp56w-pecl-memcached-2.2.0にしました。
session.save_handler をmemcachedからfileにするとerrorが消えたので、 memcached周りの問題だと思いました。
phpを5.6.27に戻すとerrorが消えるので5.2.28の問題かと思いました。
verを元に戻すには、以下のとおりyum downgradeコマンドを使いました。
依存しているパッケージをすべて選択しています。
# yum downgrade php56w php56w-common php56w-cli php56w-snmp php56w-process php56w-xmlrpc php56w-pdo php56w-soap php56w-opcache php56w-ldap php56w-devel php56w-xml php56w-mbstring php56w-gd php56w-pgsql
標題の文句でググると以下のBug報告がひっかかりました。
https://bugs.php.net/bug.php?id=73497
https://bugs.php.net/bug.php?id=73539
パッチをあてるか、memcacheの3.0.8のリリースを待たないといけないようでしたので、同じ機能を持つ
memcachedに乗り換えることにいたしました。
https://bugs.php.net/bug.php?id=73497によるとThis bug can also be reproduced with php 7.0.13 and memcache 3.0.9-devとのことです。
Fatal error: Allowed memory size of 402653184 bytes exhausted (tried to allocate 4294964625 bytes) in /home/ap2/public_html/ero/toukei_kaiseki/index.php on line 20
line 20には
session_start();
と書いてあります。
コマンドラインから実行しても以下のとおりでした。
$ php -r "session_start();"
PHP Fatal error: Allowed memory size of 402653184 bytes exhausted (tried to allocate 4294965058 bytes) in Command line code on line 1
Fatal error: Allowed memory size of 402653184 bytes exhausted (tried to allocate 4294965058 bytes) in Command line code on line 1
環境は以下のとおりです。
CentOS 6
php56w-5.6.28
php56w-pecl-memcache-3.0.8-2
結論から書くと、php56w-pecl-memcache-3.0.8をやめてphp56w-pecl-memcached-2.2.0にしました。
session.
phpを5.6.27に戻すとerrorが消えるので5.2.28の問題かと思いました。
verを元に戻すには、以下のとおりyum downgradeコマンドを使いました。
依存しているパッケージをすべて選択しています。
# yum downgrade php56w php56w-common php56w-cli php56w-snmp php56w-process php56w-xmlrpc php56w-pdo php56w-soap php56w-opcache php56w-ldap php56w-devel php56w-xml php56w-mbstring php56w-gd php56w-pgsql
標題の文句でググると以下のBug報告がひっかかりました。
https://bugs.php.net/bug.php?id=73497
https://bugs.php.net/bug.php?id=73539
パッチをあてるか、memcacheの3.0.8のリリースを待たないといけないようでしたので、同じ機能を持つ
memcachedに乗り換えることにいたしました。
https://bugs.php.net/bug.php?id=73497によるとThis bug can also be reproduced with php 7.0.13 and memcache 3.0.9-devとのことです。