Я ищу советы.
Rignt теперь у меня есть куча php-скриптов, которые я запланировал через cron. Они запускают мою локальную машину, делая вещи, как вытаскивание из mysql db и отправка автоматических писем. Чтобы запустить их, у меня есть что-то вроде этого в crontab: 0 7 * * 1 /usr/bin/php /phpscripts/script.php
Мне нужно перенести все эти сценарии на машину Windows. Я планирую использовать планировщик задач Windows для запуска сценариев, но как я могу запустить сценарии php локально? Насколько я понимаю, вам нужно что-то вроде xampp для запуска сервера apache? Я предполагаю, что мне нужен эквивалент Windows / usr / bin / php в crontab.
Установка PHP
Вам не нужно устанавливать xammp
, вы можете установить только один PHP, посмотрите на руководство по установке Windows PHP:
Если вы предпочитаете устанавливать XAMP, вы можете запустить PHP-скрипт после нахождения php.exe
с флагом -f
:
C:\Xampp\php\php.exe -f C:\Xampp\htdocs\my_script.php
Запуск файла PHP
После установки PHP установите флажок в командной строке PHP в руководстве Microsoft Windows для получения информации о том, как запустить скрипт. На странице есть объяснение того, как сделать исполняемый файл php, поэтому вы можете запустить его как:
"C:\PHP Scripts\script" -arg1 -arg2 -arg3
Убедитесь, что вы используете административную учетную запись для запуска команды. В противном случае могут возникнуть проблемы с разрешениями. Дополнительная информация в разделе Введение в использование PHP в командной строке
Планирование задачи
Перейдите в Start -> Programs -> Accessories -> System Tools -> Scheduled Tasks
,
C: \ PHP \ php.exe "C: \ Inetpub \ wwwroot \ blogs \ cron \ cron_exec.php"
Перейдите на вкладку «Расписание» и введите, когда и как часто должна выполняться задача. Расписание по умолчанию запускается один раз в день и должно быть хорошо для основного использования, но не стесняйтесь настраивать по мере необходимости. Остальные поля можно оставить как есть, если вы не туз и не знаете, что делаете. Нажмите «ОК», и мы закончили! для получения дополнительной информации см. настройку запланированной задачи окна .
Настройте свою задачу для запуска, когда захотите (времена и все такое)
и поместите это в command
:
C:\Path\to\php.exe -f "C:\Path\to\file.php"
Изменить: вы также можете установить второй запуск php.ini, когда CLI используется для запуска файла, который не имеет ограничений на максимальное время выполнения и т. П. Очень удобная разница и лучше подходит для запуска (потенциально) длинных сценариев исполнения.
Вы можете сделать это, создав файл php-cgi.ini
в вашей папке PHP, где находится ваш файл php.ini
. Это будет использоваться автоматически, когда PHP-файл будет выполнен из CLI (это выполнение запланированных задач).
Также обратите внимание, что планировщик Windows просто закончит ошибку, из-за которой ваш скрипт упадет, поэтому запуск некоторых дополнительных протоколов может быть хорошей идеей в случае, если ваши скрипты выйдут раньше.