Нужно запускать cron.php из командной строки, потому что по умолчанию хронометр (cron) запускается через веб-сервер, что создаёт дополнительные соединения.
Задача
Нужно запускать cron.php из командной строки, потому что по умолчанию хронометр (cron) запускается через веб-сервер, что создаёт дополнительные соединения.
Решение
Изменение кода cron.php
Файл /cron.php должен выглядеть так:
<?php
$_SERVER['HTTP_HOST'] = 'example.com';
$_SERVER['REMOTE_ADDR'] = '127.0.0.1';
$_SERVER['REQUEST_METHOD'] = 'GET';
chdir('/home/.../public_html'); //Путь к папке с cron.php в файловой системе
include_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
?>
$_SERVER['HTTP_HOST'] = 'example.com';
$_SERVER['REMOTE_ADDR'] = '127.0.0.1';
$_SERVER['REQUEST_METHOD'] = 'GET';
chdir('/home/.../public_html'); //Путь к папке с cron.php в файловой системе
include_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
?>
Запуск из crontab
Проверьте путь к интерпретатору PHP. В примере используется /usr/local/bin:
/usr/local/bin/php /home/.../public_html/cron.php
Использованные материалы
Bookmark/Search this post with










