Myślę, że twoja koncepcja musi się zmienić.
PHP nie może zaplanować zadania, tak samo jak MySQL. Wyzwalacze w MySQL są wykonywane, gdy pojawia się zapytanie mysql, a nie w określonym czasie. Ani
To ograniczenie zwykle nie stanowi problemu w tworzeniu stron internetowych. Powodem jest to, że aplikacja PHP powinna kontrolować wszystkie przychodzące i wychodzące dane. Zwykle oznacza to tylko kod HTML, który wyświetla te dane lub inne formaty użytkownikom lub innym programom.
W twoim przypadku możesz o tym pomyśleć w ten sposób. Termin jest wyznaczoną datą. Możesz potraktować to jako dane i zapisać w swojej bazie danych. Kiedy nadejdzie termin nie jest ważny, chodzi o to, że dane, które przesłałeś w swojej bazie są przeglądane poprawnie.
Gdy zostanie wysłane żądanie do Twojej aplikacji, sprawdź, czy data terminu już minęła, jeśli tak, to wyświetl, że projekt jest zamknięty - lub zaktualizuj, że projekt jest zamknięty, tuż przed wyświetleniem.
Naprawdę nie ma powodu, aby aktualizować dane niezależnie od aplikacji PHP.
Zwykle jedynymi rzeczami, które chcesz zaplanować, są zadania, które wpłyną na twoją aplikację pod względem obciążenia lub które muszą być wykonane tylko raz, lub gdzie współbieżność lub czas są problemem.
W Twoim przypadku żadne z powyższych nie ma zastosowania.
PS:Nie próbowałem PHPscheduler, ale domyślam się, że nie jest to prawdziwy harmonogram. Cron to demon, który śpi do czasu, gdy w swojej kolejce nie ma zadania, wykonuje zadanie, a następnie śpi do czasu, aż nadejdzie termin kolejnego (przynajmniej to robi w aktualnym algorytmie). PHP nie może tego zrobić bez gniazd i rozszerzeń fork, jako specjalna konfiguracja. Tak więc PHPscheduler najprawdopodobniej po prostu sprawdza, czy data zadania wygasła, przy każdym ładowaniu strony internetowej (za każdym razem, gdy PHP uruchamia stronę). Nie inaczej jest po prostu sprawdzanie, czy data w projekcie wygasła, bez narzutu PHPScheduler.