mysql — Как автоматически вызывать php-скрипт каждый день для отправки автоматических писем

Есть ли способ, где я могу автоматически вызывать скрипт php через заданный интервал.

У меня есть php-скрипт (скажем, памятка.прп), которая использует mysql для запроса базы данных, куда люди отправляли свои еженедельные отчеты. Этот скрипт автоматически запрашивает базу данных и отправляет напоминание по электронной почте людям, которые еще не отправили свои еженедельные отчеты.

Теперь я должен дать ADMIN возможность установить дату начала напоминания и дату окончания напоминания, в течение которых вызовы должны автоматически выполняться на мой сценарий remdusers.php и прекращаться на дату окончания напоминания.

Из SO / google я узнал, что я могу настроить cron (в LINUX) для автоматического вызова файла remdusers.php, но у меня нет доступа к оболочке для этого.

Иначе Могу ли я написать еще один php-скрипт, который по сути спит каждые 24 часа и автоматически просыпается, чтобы вызвать мой скрипт remdusers.php.

Есть ли другие встроенные методы?

Есть идеи?

1

Решение

Используйте посетителей вашего сайта, чтобы вызвать событие. Отправьте сообщение, а затем проверьте, прошел ли 1 день. Тогда отправь другому. Вам все равно нужно обратить внимание, чтобы не удваивать / тройить / … отправлять деу на синхронизацию.

Когда время истекло, используйте MySQL (или систему) MUTEX, чтобы гарантировать, что происходит только одна отправка.

1

Другие решения

Да, ты можешь! Что вам нужно сделать, это использовать задания cron. Задания Cron, по сути, говорят серверу выполнять скрипт (PHP или другой) через равные промежутки времени. Задания Cron очень мощные и настраиваемые, так как вы можете установить практически любой интервал для своего Cron.

Если вы используете CPanel для управления сайтом, в CPanel есть кнопка для просмотра всех заданий cron, которые вы установили. На этой странице также есть учебник.

Надеюсь это поможет.

1

Попробуйте с этим PHPCron

PHPCron — это простой PHP-скрипт, который позволяет запускать несколько задач по расписанию или по таймеру. Его можно запустить из командной строки или через веб-браузер. Его поведение очень похоже на популярную программу cron для UNIX.

http://katyscode.wordpress.com/2006/10/17/phpcron-running-scheduled-tasks-from-php-on-a-web-server/

0

Я понимаю, что у вас нет доступа к Shell, но вы посмотрели на cPanel, чтобы узнать, есть ли там опция для установки задания cron?

-1
По вопросам рекламы [email protected]