2012-04-10 8 views
15

का उपयोग कर php फ़ाइल को चलाने के लिए कैसे करें मेरे पास क्रॉन नौकरियों का उपयोग करके प्रत्येक पृष्ठ पर PHP ई-मेल पर चलता है। जब मैं एक लिंक का उपयोग कर पेज चलाता हूं तो PHP कोड ठीक काम करता है।cron jobs

अब जब मैं क्रॉन नौकरियों का उपयोग करके PHP स्क्रिप्ट चलाता हूं, तो यह भी ठीक काम करता है लेकिन जब मैं कुछ पूछता हूं तो क्रॉन जॉब्स लिंक को समझ नहीं पाएंगे।

उदाहरण के लिए: http://www.wetube.org/cron.php?id=01001 तो अब अगर मैं रोज़ाना क्रॉन नौकरी का उपयोग करके इसे चलाने की कोशिश करता हूं तो यह काम नहीं करता है।

लेकिन अगर हम सिर्फ क्वेरी मिटाते हैं तो यह ठीक काम करता है। क्या आप लोग किसी भी कोड को जानते हैं जो इस लिंक को क्रॉन जॉब में काम करता है?

+0

क्या "कुछ क्वेरी डाल" करता है सिवाय क्या मतलब है? इसके अलावा, आपने क्रॉन-जॉब के लिए आदेश के रूप में क्या रखा? –

उत्तर

36

क्रॉन कमांड चलाता है क्योंकि उन्हें खोल के माध्यम से चलाया जाएगा, इसलिए PHP चलाना स्थानीय पथ का उपयोग करेगा।

php /home/USER/public_html/cron.php

या अगर सहित क्वेरी स्ट्रिंग के लिए आवश्यक है, cURL बजाय का उपयोग करें (यदि इसके इंस्टॉल हो):

curl http://www.wetube.org/cron.php?id=01001

आप हो सकता है

आप की तरह एक आदेश का उपयोग करने की आवश्यकता है इंटरनेट पर अपनी क्रॉन स्क्रिप्ट को उजागर न करना चाहते हैं - उन्हें अपनी वेब निर्देशिका से बाहर ले जाएं क्योंकि अगर कोई इसे पाता है तो वे इसे आपके क्रॉन स्क्रिप्ट्स को स्पैम करने के लिए लगातार पुनः लोड कर सकते हैं (यानी एल भेजना ईमेल के ओ टी एस)

+0

धन्यवाद आदमी लेकिन रिपोर्ट –

+4

भेजने से रोकने के लिए मैं और क्या जोड़ सकता हूं यदि आपको HTTP के माध्यम से स्क्रिप्ट चलाने की आवश्यकता है (जो आमतौर पर पहली जगह में एक बुरा विचार है) और आपके सर्वर के पास एक स्थिर (और समर्पित) आईपी पता है जो आप कर सकते हैं अपनी क्रॉन स्क्रिप्ट को एक सशर्त जांच में संलग्न करके केवल अपने सर्वर से आने के लिए सीमित करें कि '$ _SERVER [' REMOTE_HOST ']' आपके सर्वर के आईपी पते से मेल खाता है। यह मूर्खतापूर्ण नहीं है हालांकि और आपकी सबसे सुरक्षित शर्त केवल आपकी वेब निर्देशिका के बाहर क्रॉन स्क्रिप्ट है। – wyqydsyq

7

मैं

curl http://www.wetube.org/cron.php?id=01001&hash=cm349ucKuc023b2ynGyv23ycr23 

की तरह और php फ़ाइल

if(isset($_GET['hash']) && $_GET['hash']=='cm349ucKuc023b2ynGyv23ycr23'){ 
.... 
stuff to do 
.... 
} 

में हैश जोड़ना होगा * यदि आप भी विशिष्ट समय/तारीख की जांच में जोड़ सकते हैं जब उसे चलने के किया जाना चाहिए।
* आप आईपी
* जांच सकते हैं * उसी नमक और शायद समय के साथ दोनों cron और php फ़ाइल में sha512 (मैं अनुशंसा करता हूं) उत्पन्न करता हूं और फिर जांच करता हूं कि वे समान हैं - हैकर को फिर से बनाना असंभव होगा यह है - वह किसी भी तरह हो जाता है, तो अपने मूल हैश सेटअप

संबंधित मुद्दे