Блог web-мастера POLYGLOTа О жизни, связанной с Linux, PHP, MySQL, JavaScript, AJAX, SVN, CSS и многим другим

18Дек/090

Особенности запуска php-скриптов через Cron

cron
Php-скрипты можно запускать по расписанию через Cron, но способ запуска зависит от некоторых особенностей, с которыми я недавно столкнулся. При запуске скриптов через Cron:

- скрипт запускается от папки запуска крона, поэтому все включения include и require с относительными путями не воспринимаются.

- не видны серверные переменные $_POST, $_GET, $_SERVER и т.д.

Решения этих проблем следующие ….

Скрипт запускается от папки запуска крона, поэтому все включения include и require с относительными путями не воспринимаются.

Решений этой проблемы несколько:

1. Вы можете изменить путь к папке запуска прямо в команде Cron таким образом
cd /path/to/your/dir && php your_file.php
2. Вы можете скорректировать пути к вашим включениям таким образом
include dirname(__FILE__) . '/../../' . 'included_file.php';
3. Вы можете запустить задание через wget таким образом
/usr/bin/wget http://www.yoursite.com/your_file.php
Не видны серверные переменные $_POST, $_GET, $_SERVER и т.д.

Решений этой проблемы также несколько:
1. Вы можете запустить задание через wget, как это описано выше.
2. Вы можете использовать свой загрузчик, например,
croner.php
<?php
if (isset($argv[1])) {
$params = array('http' => array('method' => 'GET', 'content' => null));
$ctx = stream_context_create($params);
$fp = @fopen($argv[1], 'rb', false, $ctx);
if (!$fp) die('Problem with '.$argv[1]);
$response = @stream_get_contents($fp);
if ($response === false) die('Problem reading data from '.$argv[1]);
echo "Response: \n".$response;
} else {
echo "Problem with params: \n";
print_r($argv);
}
?>

И затем вызывать требуемые скрипты через него
/usr/bin/php /path/to/croner.php "http://www.site.com/file.php"

Связано с категорией: Cron, PHP Оставить комментарий
Комментарии (0) Пинги (0)

Пока нет комментариев.


Оставить комментарий


Security Code:

Нет обратных ссылок на эту запись.

Облако меток

Apache Cron crontab PHP Subversion WebMoney WMU WMZ Мир Привет программист

Облако тегов плагина WP Cumulus от сайта "Плагины и шаблоны для WordPress" требует для просмотра Flash Player 9 или выше.

Последние записи

Счетчики

Реклама