05
Jan
08

PHP Geoip - Fatal error: Allowed memory size of…

Para aqueles que estão a usar o código que disponibilizei neste post sobre a API do GeoIP, ou que usam o GeoIP de qualquer outra forma!

Hoje uma das aplicações em PHP que fiz utilizando a API do GeoIP, começou a dar um erro “Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 27609379 bytes) in /path_para_o_site/my-ip-info/geoipapi/geoip.inc.php on line 316

A primeira coisa que fiz foi tentar com o init_set do PHP aumentar o “memory_limit” do PHP (ini_set(”memory_limit”,”64M”);) que não deu resultado apesar do valor a alocar fosse bastante mais baixo do que o limite.

Após vários testes falhados alterei um parametro na linha em que crio o apontador para a base de dados e ficou a funcionar correctamente! Na linha onde estava “$gcity = geoip_open(”db/GeoLiteCity.dat”,GEOIP_MEMORY_CACHE);” passou a estar “$gcity = geoip_open(”db/GeoLiteCity.dat”,none);” ficou a funcionar embora se note uma pequena perda de velocidade quase imperceptível mas está mais lento!

Depois de o problema estar resolvido fui ao site da MaxMind dar uma vista de olhos e encontrei um benchmark dos diferentes tipos de cache que se pode ter e qual o numero de queries/segundo conforme o tipo de cache!


Translator

Portuguese flagItalian flagKorean flagChinese (Simplified) flagEnglish flagGerman flagFrench flagSpanish flagJapanese flagArabic flag
Russian flagGreek flagDutch flagBulgarian flagCzech flagCroat flagDanish flagFinnish flagHindi flagPolish flag
Rumanian flagSwedish flagNorwegian flag       
By N2H

 

January 2008
M T W T F S S
« Dec   Feb »
 123456
78910111213
14151617181920
21222324252627
28293031  

Categorias


0 Responses to “PHP Geoip - Fatal error: Allowed memory size of…”


  1. No Comments

Leave a Reply