Server tarafında bir PHP komut dosyası yürütülmesine zamanlama nasıl?

5 Cevap

Ben otomatik olarak belirli bir zamanda yürütülecek bir PHP komut dosyası gerekir. Nasıl bu amaca ulaşmak istiyorsunuz?

5 Cevap

(Mac OSX dahil) Linux / Unix bir lezzet çalıştırıyorsanız, create a cron job.

Windows çalıştırıyorsanız, create a scheduled task.

Note: yukarıdaki bağlantılardan hem PHP kitleye özellikle ilgilidir.

Eğer crontab-e ile el crontab'ın düzenlemek veya crontab-l ile liste giderseniz, crontab'ın üstündeki koymak için yararlı bir açıklama altındadır.

# .---------------- minute (0 - 59) 
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ... 
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7)  OR sun,mon,tue,wed,thu,fri,sat 
# |  |  |  |  |
# *  *  *  *  *  command to be executed

  30 3  *  *  *  php /home/scripts/do_something.php

Sana webapp çeşit oluştururken ve periyodik şey çalıştırmak için sistemin parçası gerekir varsayarak yaşıyorum, bu yüzden bir tarayıcı ile çalıştırmak mümkün değildir. Bu 3. parti kütüphaneleri çok yükleme veya sunucu işlevselliği bir sürü kullanarak eğer bunu yapmak biraz zor, ama düz PHP eğer, çok kolayca yapabilirsiniz. Komutu çalıştırır (Windows vb Görev Planlanmış Linux üzerinde cron iş,) bir tür zamanlanmış iş oluşturmak php -f filename.php. Yani sunucu belirli ortam değişkenleri bazı PHP komut dosyası CGI yoluyla idam edileceğini şekilde (belki de aynı) çok benzer CLI PHP yorumlayıcı aracılığıyla seçtiğiniz PHP komut dosyası çalıştırmak, ama eksi olacaktır.

Eğer değilseniz not Linux / Unix kullanarak, onlar sizin için bir Windows zamanlanmış iş kurmak mümkün olacağını ana sorun. Mutlaka bir güvenlik riski teşkil etmez bazı bilgisayarlarının destek bölümlerinin çalılık alabilirsiniz olup olmadığını bağlı olarak, onlar mutlu olmalı