Не хватает памяти, когда по-крону

[Удален]
1744

Здравствуйте

вот не могу понять - если из браузера запускаю php скрипт - все ОК

когда его же - по крону - не хватает памяти

Может кто подскажет - с чем это может быть связано?

edogs software
На сайте с 15.12.2005
Offline
775
#1

Если по крону запускаете вызовом интерпретатора, нечто вроде

/usr/bin/php index.php

то

1) Может запускаться другой интерпретатор чем при запуске по http

2) Могут быть другие настройки php чем при запуске по http

3) Может скрипт кушать больше памяти будучи запущенным в режиме cgi

4) Могут срабатывать ограничения на количество памяти под процесс действующие на cgi приложения

В общем случае надежнее (для одинаковых настроек) запускать по крону используя get или wget команды - дергая скрипт по крону точно так же по http.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
[Удален]
#2
edogs:
Если по крону запускаете вызовом интерпретатора, нечто вроде
/usr/bin/php index.php
то
1) Может запускаться другой интерпретатор чем при запуске по http
2) Могут быть другие настройки php чем при запуске по http
3) Может скрипт кушать больше памяти будучи запущенным в режиме cgi
4) Могут срабатывать ограничения на количество памяти под процесс действующие на cgi приложения
В общем случае надежнее (для одинаковых настроек) запускать по крону используя get или wget команды - дергая скрипт по крону точно так же по http.

Да, именно так и вызывается

понять какой пхп при этом вызывается не могу, но по http выбран модулем апача prefork

т.е просто wget http://domain/index.php ? гениально! ☝

AboutSEO
На сайте с 18.01.2007
Offline
154
#3

предварительно покурите man по wget-у, а то он начнет сохранять копии index.php index.php.1 index.php.2 и т.д. и в итоге сами уже догадываетесь что будет тварится после 10000 срабатывания крона.

I
На сайте с 09.09.2005
Offline
16
#4
narodd:
Да, именно так и вызывается

понять какой пхп при этом вызывается не могу, но по http выбран модулем апача prefork

что бы понять, как php вызывается надо в командной строке сделать

php -i

а на http://www.domain.com/ выложить файли phpinfo.php со следующим содержанием:

<? phpinfo(); ?>

и открыть в браузере http://www.domain.com/phpinfo.php

сравнить и сразу станет ясно (как найдешь отличия - попробуй пересобрать модуль apache с данными используемыеми при конфигурации php, который ты вызываешь в шелле, то есть из php -i).

MIRhosting.com
На сайте с 18.10.2006
Offline
203
#5

Тут надо еще отметить, что использование просто php без полного пути чревато, что будет использоватся не тот бинари чем который должен.

И даже с полным путем он может быть неправильным.

Очень часто на сервере стоят 2 бинари php, на серверах с cpanel это фактически 100%, если конечно специально не удаляли, что вряд ли.

Андрей Нестеренко, MIRhosting Облачная платформа для DevOps (https://mirhosting.com/paas)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий