Планировщик задач в OpenServer: cron, PHP-скрипты и безопасный запуск по расписанию
Старые версии OpenServer позволяли запускать локальные PHP-скрипты по cron-подобному расписанию. Но интерфейс и структура каталогов менялись, поэтому копировать команды десятилетней давности вслепую не стоит. Ниже — универсальный подход, который остаётся полезным независимо от версии сборки.
Что нужно определить перед настройкой
- какой PHP-интерпретатор должен выполнять скрипт;
- какой php.ini используется;
- нужен ли рабочий каталог;
- куда записывать stdout/stderr;
- что делать, если предыдущий запуск ещё не завершился.
Запускайте PHP через CLI
Для фоновой задачи правильнее запускать PHP CLI напрямую, а не открывать URL локального сайта. Это уменьшает зависимость от веб-сервера и делает ошибки понятнее.
php -f C:\path\to\script.phpПроверьте команду вручную
Перед добавлением расписания выполните ту же команду из консоли. Убедитесь, что используются правильная версия PHP, расширения и конфигурация.
Логи важнее интерфейса планировщика
Перенаправляйте вывод в отдельный лог и проверяйте код возврата. Если задача отправляет письма, меняет БД или вызывает API, добавьте защиту от параллельных запусков.
Альтернатива: Планировщик заданий Windows
Для долгоживущих проектов часто удобнее использовать штатный Task Scheduler Windows: он переживает обновление локальной среды и позволяет управлять пользователем запуска, триггерами и повторными попытками.
Главная идея: расписание должно запускать уже проверенную CLI-команду. Интерфейс OpenServer — лишь один из способов вызвать её.