मेरे पास एक स्क्रिप्ट है जो मैं php कारीगर ( रूट उपयोगकर्ता के साथ ) का उपयोग करके चलाता हूं , और कभी-कभी यह एपेक www-data उपयोगकर्ता द्वारा किए जाने से पहले दैनिक लॉग फाइल बनाने का कारण बनता है - जिसका अर्थ है कि जब कोई वास्तविक उपयोगकर्ता मेरे वेब एप्लिकेशन का उपयोग करता है, तो मुझे मिलता है फ़ोल्डर अनुमति त्रुटि:
स्ट्रीम खोलने में विफल: अनुमति से इनकार किया गया
मैं अनुमतियों को www-data में वापस बदल देता हूं, लेकिन मैं हमेशा सही अनुमतियों के साथ बनाई गई लॉग फ़ाइल होने से इसे हल करना चाहता हूं।
मैंने एक क्रॉन जॉब बनाने पर विचार किया है जो फ़ाइल बनाता है या यह सुनिश्चित करने के लिए इसे छूता है कि इसकी हर रोज सही अनुमति है, लेकिन मैं एक बेहतर समाधान की तलाश कर रहा हूं जो किसी अन्य स्क्रिप्ट पर निर्भर न हो।
हमने यह भी सुनिश्चित करने के लिए एक और स्क्रिप्ट में php कारीगर लपेटने पर विचार किया है कि यह हमेशा www-data क्रेडेंशियल्स के साथ चलाया जाता है , लेकिन कुछ दिन जो हम करना चाहते हैं वह वास्तव में रूट प्रक्रियाएं हैं जो अपाचे को करने की अनुमति नहीं दी जानी चाहिए।
कोई और सुझाव?
php artisan
उस उपयोगकर्ता के रूप में चलना होगा जिसे आप लॉग फ़ाइल बनाना चाहते हैं।
sudo crontab -u www-data -e
cron
कोtouch
एक नई लॉग फ़ाइल में (सही उपयोगकर्ता के तहत, निश्चित रूप से) नौकरी सेट करें।