Reputation: 505
When I login to my web application it shows an error like:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 87 bytes) in /gt/2.ps.fo/home/hft/domains/console.fo.spalgo.com/public_html/cake/libs/model/datasources/dbo/dbo_mysql.php on line 775
Is there any solution to solve this problem? Why do I get this error?
Upvotes: 9
Views: 38536
Reputation: 228
Looking at the file that threw the fatal exception (dbo_mysql.php
) I presume that your call is retrieving data from the DataBase.
Also, looking at the memory limit, it shows 134217728 bytes, which is 128MB, so I think that whatever your API call is doing, is trying to fetch a lot of data which total surpasses the limit allocated per script.
For example, if the last script in the API call stack were to use 20MB
for its needs and then tires to fetch data from the DB worth 115MB
, your script would be trying to allocate 135MB
which is already 7MB
more than the limit and thus causing the Fatal Exception
.
So, I see a few things to check/do:
memory_limit
value under your php.ini
fileUpvotes: 1
Reputation: 191809
Try using echo
instead of storing what you are printing to a variable first.
Upvotes: 1
Reputation: 104110
That sounds like you've allocated more memory than PHP will allow. Edit the memory_limit
setting in your site php.ini
configuration as described on the linked page.
Another possibility (less likely) is that you've hit the setrlimit(2)
resource limits for your user or group. Check /etc/security/limits.conf
for limits that might be set for your web server, along with whatever initialization scripts start your server environment and PHP interpreter environment.
Upvotes: 10