Задание крона на Ubuntu для php

Спецификация не ограничивает длину HTTP, Получают запрос, но различные браузеры реализуют свои собственные ограничения. Например, Internet Explorer реализовали ограничение в 2 083 символах.

6
задан raven 18 November 2009 в 15:50
поделиться

2 ответа

Если вы имеете в виду, что хотите, чтобы ваш php-сайт выполнял какие-то обычные задачи, есть два возможных пути:

1) Вы используете cron для регулярного извлечения определенной страницы. Вы можете сделать это с помощью текстового браузера, например lynx. Вы загружаете свой сценарий следующим образом:

* * * * * / usr / bin / lynx http://yourhost.com/cron.php -dump> / dev / null

(Он будет вызывать его каждую минуту. Таким образом, вы можете создать собственное расписание внутри своего приложения)

2) Вы вызываете свой скрипт с помощью интерпретатора php командной строки:

* * * * * / usr / bin / php /path/to/cron.php > / dev / null

В общем, решение два лучше. Однако вам понадобится доступ к коробке. Cron в первом решении может быть запущен с другого хоста, если вы не можете установить crons на хост.

Также остерегайтесь распространенных ошибок, связанных с использованием версии php для командной строки. В debian (и, возможно, в других системах) могут быть отдельные файлы php.ini для cgi, cli и mod_php. Если вы настроили свою конфигурацию, убедитесь, что в командной строке php используется правильный. Вы можете проверить это с помощью:

/ usr / bin / php -i | less

В ответ на комментарий dimo я сделал несколько тестов. Я вызвал простой локальный скрипт php (который просто повторяет "test") 1000 раз с lynx, wget и php-cli:

kbsilver:temp kbeyer$ time . wget.sh

 real 0m14.223s
 user 0m2.906s 
 sys 0m6.335s

(Command: wget -O /dev/null "localhost/test.php"; 2> /dev/null) 

kbsilver:temp kbeyer$ time . lynx.sh 

real 0m26.511s 
user 0m5.789s 
sys 0m9.467s 

(Command: lynx -dump "localhost/test.php"; > /dev/null) 




kbsilver:temp kbeyer$ time . php_cli.sh 

real 0m54.617s 
user 0m28.704s 
sys 0m18.403s 

(Command: /opt/local/bin/php /www/htdocs/test.php > /dev/null) 

Сервер - lighttpd , php (fastcgi) с apc (в Mac OS X).

Оказывается, действительно, wget - лучший инструмент для работы, касающейся скорости.

Таким образом, результат php-cli не такой уж неожиданный, как другой методы повторно используют уже запущенный поток php с кешем опкодов.

15
ответ дан 8 December 2019 в 14:45
поделиться

Полагаю, вы хотите сделать резервную копию своего сайта PHP? Отредактируйте crontab, используя:

crontab -e

Это запустит экземпляр vi, в котором вы можете редактировать crontab, нажмите i для режима вставки. Затем вам нужно ввести информацию о том, когда будет запущена запись cron и команда, которая будет запускаться в это время, например:

30 10 * * * tar -zcvf ./myphpsite.tar.gz /var/www/phpsite

Таким образом, приведенная выше команда будет архивировать ваш phps-сайт в / var / www / phpsite в 22:30 каждый день. Выйдите и выйдите из vi с помощью : wq

См. Это для получения дополнительной информации:

http://www.adminschoice.com/docs/crontab.htm

1
ответ дан 8 December 2019 в 14:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: