2012-02-27 2 views
3

Возможно ли запланировать запуск одной функции php в определенное время в будущем с помощью команды Unix 'at'? Если да, то как это будет сделано?Unix 'at' команда через PHP для запуска одной функции

Также это лучший способ справиться с планированием одной функции, которая будет запущена позднее?

ответ

5

Конечно, вы можете использовать at или cron, и передать -R флаг PHP выполнить командную строку:

# Run phpinfo() at 12:30... 
echo php -R 'phpinfo();' | at 12:30 

Или это может быть, лучше назвать файл, который может содержать несколько команд

echo 'php /path/to/yourfile.php' | at 12:30 
+0

Как насчет функции, которую я создал? Есть ли способ получить вызов, или это могут быть только стандартные функции php? Перечисляются ли переменные в сценарии, который вызывает вышеописанную функцию, когда она запускается позже? –

+1

@RhodesianHunter Чтобы выполнить свою собственную функцию, вам нужно будет включить файл, а затем вызвать его. В этот момент вам намного лучше просто выполнить файл, который определяет и выполняет вашу функцию. Чтобы значения были доступны позже, вам нужно будет записать их в базу данных или текстовый файл, поскольку между вызовами не будет постоянной. –

+0

Я забыл написать «эхо» перед командой, которая выполнит мой php-файл. Спасибо! – cawecoy

1

, если вы хотите, чтобы запустить его из PHP сценария попробуйте использовать функцию EXEC()

0

чтобы сделать скрипт, необходимо будет быть постоянным внутри интерпретатора PHP в течение некоторого длительного промежутка времени.

Лучшее, что вы могли бы сделать, это использовать что-то вроде exec для создания команды unix, которую вы используете, а затем вызвать версию командной строки php, чтобы заставить ее работать. Посмотрите на Scheduling php scripts для получения дополнительной информации.

 Смежные вопросы

  • Нет связанных вопросов^_^