2013-11-04 12 views
5

मैं त्रुटि देखते हैं जब मैं ब्राउज़र में index.php को खोलने का प्रयास:पीएचपी-एफ पी एम: कार्रवाई की अनुमति नहीं

No input file specified. 

error.log में:

2013/11/04 22:40: 07 [त्रुटि] 3435 # 0: * 4 फास्टसीजीआई stderr में भेजा गया: "प्राथमिक स्क्रिप्ट खोलने में असमर्थ: /var/www/index.php (ऑपरेशन की अनुमति नहीं है)" अपस्ट्रीम से प्रतिक्रिया शीर्षलेख पढ़ने के दौरान, क्लाइंट: 10.0.2.2, सर्वर : localhost, अनुरोध: "GET/HTTP/1.1", अपस्ट्रीम: "fastcgi: //127.0.0.1: 9000", होस्ट: "लोकलहोस्ट"

सर्वर का कॉन्फ़िगरेशन:

  • CentOS 6.4
  • पीएचपी 5.4.17 (स्रोत से इंस्टॉल)
  • Nginx 1.0.15

पीएचपी-एफ पी एम उपयोगकर्ता nginx से काम करता है। catch_workers_output पर

$ ps aux | grep fpm 
root  3460 0.0 0.7 29524 3428 ?  Ss 22:48 0:00 php-fpm: master process (/usr/etc/php-fpm.conf) 
nginx  3462 0.0 0.5 29524 2732 ?  S 22:48 0:00 php-fpm: pool www    
nginx  3463 0.0 0.5 29524 2732 ?  S 22:48 0:00 php-fpm: pool www    
nginx  3464 0.0 0.7 29524 3592 ?  S 22:48 0:00 php-fpm: pool www    
nginx  3465 0.0 0.5 29524 2732 ?  S 22:48 0:00 php-fpm: pool www    
nginx  3466 0.0 0.5 29524 2732 ?  S 22:48 0:00 php-fpm: pool www    
vagrant 3468 0.0 0.1 5532 720 pts/0 D+ 22:48 0:00 grep fpm 

$ ls -la /var/www 
drwxr-xr-x 2 nginx nginx 4096 Ноя 4 22:34 . 
drwxr-xr-x. 19 root root 4096 Ноя 4 22:31 .. 
-rw-r--r-- 1 nginx nginx 17 Ноя 4 22:34 index.php 

स्विच मदद नहीं करता है

+0

आपके पास कोई 'एक्स' नहीं index.php के लिए विशेषाधिकार, 'x' का अर्थ निष्पादित है। यह 'rwxr-xr-x' होना चाहिए – TroyCheng

+0

मैंने php-files के लिए 'x' विशेषाधिकार कभी नहीं जोड़ा, जो वेब-सर्वर के माध्यम से काम करता है, और कोई समस्या नहीं थी। लेकिन मैंने अब index.php के लिए 'x' विशेषाधिकार जोड़ने की कोशिश की - इससे मुझे – vanchester

+0

में मदद नहीं मिली, ठीक है, 'ऑपरेशन की अनुमति नहीं है' बिल्कुल एक प्राधिकारी समस्या है। उत्पाद वातावरण में, यह nginx और php दोनों को तैनात करने के लिए कस्टम कार्य खाते का उपयोग करके बेहतर होना चाहिए। यहां मैं आपको php-fpm शुरू करने के लिए 'रूट' का उपयोग करके नोटिस करता हूं और कार्यकर्ता प्रक्रिया वास्तव में 'nginx' खाते से काम कर रही है। और 'n varx' खाते द्वारा '/ var' तक पहुंचा नहीं जा सकता है। – TroyCheng

उत्तर

6

समस्या session.save_path स्थापित करने की न के बराबर रास्ते में था और php.ini में स्थापित करने open_basedir की सूची में

+0

बहुत धन्यवाद! –

+0

एक घंटे के लिए इसकी तलाश कर रहा था सबसे अधिक संभावना है, 'session.save_path' के साथ समस्या आकस्मिक थी, और एकमात्र समस्या 'open_basedir' मान के साथ थी। जब भी यह त्रुटि nginx लॉग में प्रकट होती है, तो बस PHP लॉग की जांच करें, और त्रुटि का सटीक कारण (अक्सर 'open_basedir' प्रतिबंधों के कारण अनुमति की कमी) स्पष्ट होगा। –

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