www.webdeveloper.com
Results 1 to 3 of 3

Thread: Memory exhausting issue

  1. #1
    Join Date
    Mar 2008
    Posts
    26

    Memory exhausting issue

    Hi all,

    I have an issue regarding the cronjob.
    I have written a cron job(a php script) to run on 7:15 AM every day. The php script is to parse a big XML file, and then update the database. But when this cron job is executed, I am getting mail (the cron error) as follows

    Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 35
    bytes) in /scripts/class.XMLParser.php on line 121

    In the 121 st line of this file is

    $parser = xml_parser_create('ISO-8859-1');

    xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);

    xml_parse_into_struct($parser, $data, $vals, $index); //line 121

    xml_parser_free($parser);

    But what is strange is when I execute this file manually via URL, this is working fine. Only through cronjob, its showing this error. What may be the reason?

    I had googled a lot, and as per some tutorials, I looked into my "memory_limit" php.ini configuration variable. It is like this

    memory_limit = 128M ; Maximum amount of memory a script may consume (16MB)

    I tried by increasing this as

    memory_limit = 256M

    Does this make sense? Still the error is same? Anybody have any idea like, why error comes through CRON JOB and NOT via URL ?

    My cronjob entry for this one looks as follows

    15 7 * * * /usr/bin/php -q /scripts/cron_squads.php

    Please help me, I have already spent a lot of time for this....

    Thanks in advance,
    Subeesh

  2. #2
    Join Date
    Aug 2004
    Location
    Ankh-Morpork
    Posts
    19,387
    When run by cron the script is executed via the CLI interface, not the web interface, so it may be running under different configuration settings. You could try using ini_set() within the script itself to change the limit.
    PHP Code:
    <?php
    ini_set
    ('memory_limit''128M');
    "Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
    ~ Terry Pratchett in Nation

    eBookworm.us

  3. #3
    Join Date
    Mar 2008
    Posts
    26
    Hi..

    Thanks for your reply. I have used ini_set to change the memory limit instead of doing it directly in php.ini and the error has gone.

    Thank you very much..
    Subeesh

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles