में अभिगम नियंत्रण के लिए PHP स्क्रिप्ट का उपयोग करने के मैं एक तरह से अपाचे में संसाधनों के उपयोग को नियंत्रित करने के लिए एक PHP स्क्रिप्ट का उपयोग करने के लिए देख रहा हूँ। मैं अभिगम नियंत्रण रखना चाहता हूं जो लक्ष्य संसाधन पर निर्भर नहीं है; यानी यह एचटीएमएल, फाइलें, अन्य स्क्रिप्ट और cgi कार्यक्रमों के लिए काम करेंगे, एक "से की अनुमति दें" बस के रूप में या निर्देश "से अस्वीकार करें" करना होगा - कस्टम तर्क का प्रयोग को छोड़कर।कैसे अपाचे
मैं कई तरीके देखा है इस का प्रबंधन करने की कोशिश करने के लिए:
- mod_auth_script की तरह एक अपाचे मॉड्यूल का उपयोग करें (ठीक है, लेकिन इस मॉड्यूल पुराना है और मुझे लगता है अच्छी तरह से स्केल नहीं करता है)
- उपयोग FastCGI निर्देश FastCgiAccessChecker
- सबसे पोर्टेबल php आह्वान और जो कुछ भी मैं
सबसे होनहार देखा की जरूरत है ऐसा करने के लिए अपने ही अपाचे मॉड्यूल बनाएँ, और भी FastCG की लोकप्रियता को देखते हुए मैं। तो, मैंने सामान्य लिनक्स PHP मॉड्यूल को स्वैप करने में कामयाब रहा और php को इसके बजाय fastcgi के माध्यम से काम करने में कामयाब रहा। यह विंडोज पर की तुलना में कठिन था लेकिन यह एक बाहरी सर्वर के रूप में अंत में काम करने के लिए, अपाचे निर्देश
FastCGIExternalServer /var/www/html/thing -host 192.168.0.11:9000
का उपयोग कर और php डेमॉन
php-cgi -q -b 192.168.0.11:9000 &
शुरू करने यानी मिला मुसीबत खोजने की कोशिश में आया FastCgiAccessChecker का उपयोग कर एक PHP स्क्रिप्ट का आह्वान करने का एक तरीका।
मैंने स्क्रिप्ट नाम में पास करने का प्रयास करने के विभिन्न तरीकों का प्रयास किया है, जिसे मैं फास्टसीजीआईएक्सवर्टर सर्वर और/या फास्टसीजीएक्स चेकर निर्देशों में फ़ाइल नाम बदलकर चलाने के लिए प्रयास करना चाहता हूं - काम नहीं करता है। मैं भी एक स्क्रिप्ट विनिर्देशक साथ php-cgi शुरू करने की कोशिश की है अर्थात
php-cgi -q -b 192.168.0.11:9000 -f /var/www/html/thing/access.php &
कुछ भी नहीं काम करता है। मैं बता सकता हूँ अपाचे तरह मेरी निर्देशों, पहचानता है, क्योंकि जब मैंने FastCgiAccessChecker शामिल तो पाठ/सादे करने के लिए एक php पृष्ठ, सामग्री प्रकार परिवर्तन पर जाएँ और मैं पृष्ठ से सामग्री की पहली ~ 8000 बाइट्स में सेवा की खो देते हैं तो यह एक स्क्रिप्ट है (कोई विचार क्यों)। लेकिन यह उस PHP स्क्रिप्ट को कॉल नहीं करता जिसे मैं चलाने के लिए चाहता हूं।
जहां तक मेरा लगा सकते हैं, क्या हो रहा है FastCgiAccessChecker मानता है कि कि निर्दिष्ट FastCGI सर्वर विशेष रूप से एक पहुँच चेकर के रूप में कार्य करने के लिए संकलित किया गया है है। फास्टसी सर्वर (मेरे मामले में PHP) को एक्सेस चेक करने के लिए कौन सी स्क्रिप्ट चलाने के लिए कोई तरीका नहीं है।
मैं वेब खोज की है और जहाँ तक मैं कोई भी बता सकता है पहले कभी इस बात के लिए एक PHP स्क्रिप्ट का उपयोग करने की कोशिश की है, या कोई भी इसके बारे में लिखा है।
तो मेरे सवाल: मैं क्या कर किया जाना चाहिए? मैं कुछ संभावनाएं देख सकते हैं:
1) मैं कुछ याद आ रही है, और वहाँ FastCgiAccessChecker मैं क्या चाहते हो बनाने के लिए कुछ जादू तरीका है: अपाचे अभिगम नियंत्रण को नियंत्रित करने के
2 एक PHP स्क्रिप्ट चलाने) मैं लिखने सी में अपने स्वयं के फास्टसीजीआई सर्वर और PHP को एम्बेड करें, इसलिए मैं उस PHP स्क्रिप्ट को निर्दिष्ट कर सकता हूं जिसे मैं चलाने के लिए चाहता हूं (मैंने इसमें कुछ मिनट बिताए हैं; यह जटिल और डरावना दिखता है, और मैंने 1 99 5 से सी में काम नहीं किया है)
3) मैं फास्टसीजीआई पर छोड़ देता हूं और एक्सेस को नियंत्रित करने के लिए सीधे अपनी PHP स्क्रिप्ट को कॉल करने के लिए एक अपाचे मॉड्यूल लिखता हूं। (यह भी जटिल लग रहा है; और इस तकनीक को PHP को निष्पादित करने के लिए प्रत्येक अनुरोध के लिए एक नई प्रक्रिया की आवश्यकता होगी।)
क्या किसी के पास कोई सलाह है, या तो फास्टसीजीआई को जो करना है, उसे करने के लिए, या (उचित रूप से) फास्टसीजीआई के लिए आसान विकल्प?
धन्यवाद भी चीज के लिए आप कर सकते हैं सुझाव
मुझे वह समाधान पसंद है! – Achronos