PHP-скрипт в качестве cron с использованием plesk 10.3.1 - PullRequest
0 голосов
/ 13 марта 2012

Я запускаю простой php-скрипт (который записывает время выполнения в текстовом лог-файле).Из браузера он работает нормально, но, поскольку я использую запланированные задачи на панели plesk 10.3.1, как показано ниже:

*/5 *   *   *   *   php /var/www/vhosts/eblogs.co.uk/httpdocs/frostbox/cron/crone_test.php

Он запускается сразу после пяти минут, но ничего не записывает в текстовый файл и отправляетмне следующие уведомления по электронной почте:

php [-f from_encoding] [-t to_encoding] [-s string] [files...]
php -l
php -r encoding_alias
 -l,--list
    lists all available encodings
 -r,--resolve encoding_alias
   resolve encoding to its (Encode) canonical name
 -f,--from from_encoding
    when omitted, the current locale will be used
 -t,--to to_encoding
    when omitted, the current locale will be used
 -s,--string string
    "string" will be the input instead of STDIN or files
The following are mainly of interest to Encode hackers:
 -D,--debug          show debug information
 -C N | -c | -p      check the validity of the input
 -S,--scheme scheme  use the scheme for conversion

Что мне добавить в следующую строку?

php /var/www/vhosts/eblogs.co.uk/httpdocs/frostbox/cron/crone_test.php

Ответы [ 3 ]

1 голос
/ 09 апреля 2012

Текст, который вы получаете, является сообщением об использовании piconv. Это не имеет абсолютно никакого отношения к PHP, языку сценариев. Что вы, вероятно, хотите сделать, это одно из следующих действий:

Альтернатива 1: использование интерпретатора командной строки PHP

Вам необходимо вызвать реальный интерпретатор php в вашей системе. Это может быть /usr/bin/php5, поэтому ваша строка crontab будет выглядеть как

*/5 *   *   *   *   /usr/bin/php5 /var/www/vhosts/eblogs.co.uk/httpdocs/frostbox/cron/crone_test.php

Однако не во всех настройках установлен этот интерпретатор командной строки. Может случиться так, что установлен только модуль apache.

Альтернатива 2: использование HTTP (S) запроса

Если у вас нет прав на установку инструмента командной строки, посмотрите, установлен ли wget или curl. Если это так, вы можете использовать их для вызова сценария, отправив запрос на веб-сервер.

Использование wget:

/usr/bin/wget -O /dev/null 'http://eblogs.co.uk/crone_test.php'

-O /dev/null говорит ему сохранить веб-страницу, созданную вашим скриптом, в /dev/null. Это специальный файл, который в основном сразу забывает все записанные в него данные. Таким образом, этот параметр предотвращает создание любого нового файла с содержимым веб-страницы и лежит в файловой системе вашего сервера.

Использование curl:

/usr/bin/curl -o /dev/null 'http://eblogs.co.uk/crone_test.php'

-o /dev/null имеет ту же функцию, что и версия с заглавной буквой О для wget.

0 голосов
/ 09 апреля 2012

Вы можете использовать "curl" ... вот так:

curl "http://eblogs.co.uk/crone_test.php"
0 голосов
/ 13 марта 2012

Добавьте в начало php-скрипта следующее:

#!/usr/bin/php
<?php
  your code here
?>

(при условии, что php существует в / usr / bin)

Надеюсь, это поможет!

...