привет У меня есть вопрос и вы хотите узнать, можно ли запустить правило в apache с помощью php-скрипта. Я приведу пример , скажем, я хочу удалить изображения, которые имеют более 1 года, зарегистрированных в базе данных. , тогда я делаю сценарий правильно? дает ли он, что он работает в apache этой проверке с интервалом в 5 минут?php script running at apache
ответ
Не знаете, чего именно вы пытаетесь достичь, но, скорее всего, вы хотите запустить этот скрипт в Cron, а не в Apache.
http://en.wikipedia.org/wiki/Cron
Есть несколько причин не для использования Apache:
- С Apache, скрипт будет выполнен по желанию клиента. Вы никогда не знаете, когда произойдет следующий запрос - возможно, через 5 минут, может быть, через два года.
- После запуска сценария ваш клиент должен будет дождаться завершения скрипта; это неизбежно увеличит время загрузки страницы.
Чтобы запустить скрипт сам по себе, вы используете
php file.php
в командной строке. Для того, чтобы запустить его каждые х часто вы используете Cron, доступ к которым осуществляется с помощью командной строки, большую часть времени с помощью команды
crontab -e
Но все это предполагает, что вы имеете доступ к командной строке на сервере. Если вы этого не сделаете, лучше всего использовать Require once, чтобы включить скрипт в начало каждой страницы, чтобы он запускался каждый раз, когда кто-то загружает ваш сайт.
Не во всех случаях. Для запуска из Cronjob вам нужно будет указать расположение PHP '/ usr/local/php', например. –
Apache сам не обрабатывает автоматизацию/планирование, есть еще одна технология Linux для вас, чтобы выполнить такую задачу.
Причина Использование Cron над апачом
не поддерживают автоматизацию/приуроченных запросы
Событие будет сделано по запросу пользователя (при переходе на РНР
сценария)Как только пользователь naviga тес от текущей страницы, текущий
выполнение сценария остановится
Зачем использовать Cronjobs? - Cron Поддержка Событий - не требует каких-либо запросов пользователей (работает автоматизированный) - Проводит сценарий, пока он не закончит выполнение - выходной контроль, Вы можете управлять выводом толкать в текстовом файл для каротаж или перейти на/dev/null, чтобы уничтожить весь выход
Вниз Стороны в Крон?
Там, как правило, нет минусов cronjobs, скорее досада в том, что в сервере вредоносного, хроны будет пытаться электронной почте любого выхода (эхо, печать, print_r, var_dump или любой HTML) к root
псевдониму
Это называется cron job
обычно именуемую cron
, что это делает, в основном нравится Windows Task Scheduler
где проходит задание в параметрах, которые вы хотите, например .. время.
Этот текст является основной записью для cronjob и как получить доступ к этому.
Если у вас есть доступ через cpanel
, то в нижней части списка задач должна быть опция. Как создать один с помощью cpanel, объясняется внутри самой страницы.
Редактирование из командной строки:
Используйте ваш любимый текстовый редактор в этом случае я буду использовать нано .. Я бегу как корень
nano /etc/crontab
Вы будете тогда представлены базовый ввод (если не изменен)
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd/&& run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || (cd/&& run-parts --report /etc/cron.daily)
47 6 * * 7 root test -x /usr/sbin/anacron || (cd/&& run-parts --report /etc/cron.weekly)
52 6 1 * * root test -x /usr/sbin/anacron || (cd/&& run-parts --report /etc/cron.monthly)
Добавить следующую строку (изменить в соответствии с вашими требованиями), она будет запускаться каждую минуту.
* * * * * root /usr/bin/php /var/www/cron.php # This will run every minute as the root user
Layout
* * * * *
- представляет время, в этом случае ..Каждая минута, каждый час, каждый день, в каждом месяце каждой неделе
root
- Это пользователь хрон будет работать как
/usr/bin/php
- По причинам, поддерживающей совместимости, вы должны указать путь к где РНР установлен слишком
/var/www/cron.php
- Местоположение PHP скрипт для выполнения на основе времени, указанного
установки для cronjob:
* * * * * command to be executed
- - - - -
| | | | |
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7)
| | | ------- Month (1 - 12)
| | --------- Day of month (1 - 31)
| ----------- Hour (0 - 23)
------------- Minute (0 - 59)
Используя то, что я показал/объяснено с диаграммой выше этой части текста, изменить ваш кронтаб, чтобы удовлетворить ваши требования
При использовании установки Mac, а затем следовать этот пост:
Getting started with cronjobs on a Mac
Good Luck
В Ques трудно понять. Можете ли вы показать код, который вы пробовали до сих пор? – hek2mgl
Apache не выполняет планирование. Вам нужно что-то вроде cron – Phil
Linux, windows или mac? –