मुझे php क्रोन जॉब में मेमोरी एरर मिल रहा है:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 71 bytes) in /opt/matrix/core/lib/DAL/DAL.inc on line 830
Crontab के लागू भागों हैं:
$ sudo crontab -u www-data -l
MAILTO=root
# m h dom mon dow command
*/15 * * * * php /opt/matrix/core/cron/run.php /opt/matrix
मैं डेबियन स्क्वीज़ पर चल रहा हूं, पूरी तरह से अपडेटेड।
स्पष्ट समाधान यह होगा कि cli की मेमोरी की सीमा कम है (64MB की)। हालाँकि, /etc/php5/cli/php.ini का कहना है कि यह असीमित है।
$ cat /etc/php5/cli/php.ini | grep memory_limit
memory_limit = -1
मैंने कहीं पढ़ा कि यह अलग-अलग उपयोगकर्ताओं के लिए अलग-अलग हो सकता है, और जब से यह प्रक्रिया www-data के रूप में चल रही है, मैं भाग गया:
$ sudo -u www-data -s
$ php -i | grep memory_limit
memory_limit => -1 => -1
suhosin.memory_limit => 0 => 0
यहां तक कि अपाचे / php.ini में त्रुटि का दावा करने की तुलना में एक उच्च सीमा है:
$ sudo cat /etc/php5/apache2/php.ini | grep memory_limit
memory_limit = 128M
मुझे किसकी याद आ रही है? यह स्मृति सीमा कहां है?