पहले कहा गया है, $ _SERVER मौजूद नहीं है जब आप php-CLI के माध्यम से php चलाते हैं।
हालांकि, php-cgi में अपनी cron'd स्क्रिप्ट चलाने के लिए एक विकल्प है, जहां आपके पास $ _SERVER होगा। यदि आप किसी स्थानीय वेब सर्वर पर कर्ल करते हैं, तो $ _SERVER पॉप्युलेट हो जाएगा।
$ cat /etc/cron.daily/mydailyphpwork
/usr/bin/curl http://domain.tld/path/to/cron-script.php &> /dev/null
हालांकि, मुझे लगता है कि आप वास्तव में, TimWolla या DerVO द्वारा प्रस्तावित जब तक आप वास्तव में इस व्यवहार की जरूरत समाधान के साथ छड़ी चाहिए।
सकारात्मक:
- आप सभी $ _SERVER चर की उम्मीद के रूप में स्थापित हो जाएगा।
- यदि आपको बहुत से कोड को फिर से लिखना है, तो अन्यथा यह पसंद किया जा सकता है क्योंकि आपको कोई कोड बदलने की आवश्यकता नहीं है।
विपक्ष:
- यह एक समाधान की तरह है और शायद cpu लोड में एक मामूली वृद्धि का मतलब है।
स्रोत
2012-02-03 12:49:14
किसी तरह से कुछ त्रुटि संदेश प्रदान करें है। हो सकता है कि cron स्क्रिप्ट के कारण $ _SERVER ['HTTP_HOST'] अपरिभाषित हो, ब्राउज़र की तरह किसी भी HTTP_HOST को परिभाषित नहीं कर रहा है? आप इसे जारी करने के साथ परीक्षण कर सकते हैं ($ _ सर्वर ['HTTP_HOST']) –
php> = 5.3.0 gethostname() – nick