- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Что делать, если ваша email-рассылка попала в спам
10 распространенных причин и решений
Екатерина Ткаченко
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте
вот не могу понять - если из браузера запускаю php скрипт - все ОК
когда его же - по крону - не хватает памяти
Может кто подскажет - с чем это может быть связано?
Если по крону запускаете вызовом интерпретатора, нечто вроде
/usr/bin/php index.php
то
1) Может запускаться другой интерпретатор чем при запуске по http
2) Могут быть другие настройки php чем при запуске по http
3) Может скрипт кушать больше памяти будучи запущенным в режиме cgi
4) Могут срабатывать ограничения на количество памяти под процесс действующие на cgi приложения
В общем случае надежнее (для одинаковых настроек) запускать по крону используя get или wget команды - дергая скрипт по крону точно так же по http.
Если по крону запускаете вызовом интерпретатора, нечто вроде
/usr/bin/php index.php
то
1) Может запускаться другой интерпретатор чем при запуске по http
2) Могут быть другие настройки php чем при запуске по http
3) Может скрипт кушать больше памяти будучи запущенным в режиме cgi
4) Могут срабатывать ограничения на количество памяти под процесс действующие на cgi приложения
В общем случае надежнее (для одинаковых настроек) запускать по крону используя get или wget команды - дергая скрипт по крону точно так же по http.
Да, именно так и вызывается
понять какой пхп при этом вызывается не могу, но по http выбран модулем апача prefork
т.е просто wget http://domain/index.php ? гениально! ☝
предварительно покурите man по wget-у, а то он начнет сохранять копии index.php index.php.1 index.php.2 и т.д. и в итоге сами уже догадываетесь что будет тварится после 10000 срабатывания крона.
Да, именно так и вызывается
понять какой пхп при этом вызывается не могу, но по http выбран модулем апача prefork
☝
что бы понять, как php вызывается надо в командной строке сделать
php -i
а на http://www.domain.com/ выложить файли phpinfo.php со следующим содержанием:
<? phpinfo(); ?>
и открыть в браузере http://www.domain.com/phpinfo.php
сравнить и сразу станет ясно (как найдешь отличия - попробуй пересобрать модуль apache с данными используемыеми при конфигурации php, который ты вызываешь в шелле, то есть из php -i).
Тут надо еще отметить, что использование просто php без полного пути чревато, что будет использоватся не тот бинари чем который должен.
И даже с полным путем он может быть неправильным.
Очень часто на сервере стоят 2 бинари php, на серверах с cpanel это фактически 100%, если конечно специально не удаляли, что вряд ли.