এনগিনেক্স / এফপিএম / পিএইচপি সমস্ত পিএইচপি ফাইল বলে 'ফাইল পাওয়া যায় নি।'


8

আমি মাত্র একটি সেন্টোস 5.8 চূড়ান্ত bit৪ বিট মেশিনে এনগিনেক্স 1.1.13 এবং পিএইচপি 5.4.0 ইনস্টল করেছি। এনগিনেক্স এবং পিএইচপি / এফপিএম চলছে, এবং আমি এসএসএস কমান্ড লাইনের মাধ্যমে পিএইচপি স্ক্রিপ্টগুলি চালাতে পারি, তবে ব্রাউজারে আমি 'ফাইল খুঁজে পাই না।' আমার সমস্ত পিএইচপি ফাইলগুলিতে ত্রুটি।

এইভাবে আমি আমার এনগিনেক্স.কনফ পিএইচপি স্ক্রিপ্টগুলি হ্যান্ডেল করব:

      location ~ \.php$
      {
              root                    /opt/nginx/html;
              fastcgi_pass            unix:/tmp/fpm.sock;
              fastcgi_index           index.php;
              fastcgi_param           SCRIPT_FILENAME /opt/nginx/html$fastcgi_script_name;
              include                 fastcgi_params;
      }

এটি আমার অন্যান্য সার্ভারের সরাসরি অনুলিপি / পেস্ট, যেখানে এটি এই সেটআপটি দিয়ে দুর্দান্ত কাজ করে (তবে তারা পিএইচপি / এফএমপি এর পুরানো সংস্করণ চালায়)।

আমি কেন এই ত্রুটিগুলি পাচ্ছি?


1
কিছু মনে করবেন না, এটি বাছাই করা আছে। এটি একটি নির্বোধ অনুমতি ইস্যু ছিল।
মিঃবুন

উত্তর:


17

"ফাস্টসিগি_প্রেমগুলি অন্তর্ভুক্ত করুন;" সমস্ত "ফাস্টসিজি_প্রেম *" লাইনের আগে "ফাস্টসিজি_প্রেমগুলি অন্তর্ভুক্ত;" আপনার সমস্ত "ফাস্টসিজি_প্রেম *" লাইনগুলি ওভাররাইড করে (এনগিনেক্স ডিবাগ লগ দেখুন):

location ~ \.php$ {
    root                    /opt/nginx/html;
    fastcgi_pass            unix:/tmp/fpm.sock;
    fastcgi_index           index.php;
    include                 fastcgi_params;
    fastcgi_param           SCRIPT_FILENAME /opt/nginx/html$fastcgi_script_name;
}

3
মানুষ, আমি এতে 4 ঘন্টা নষ্ট করেছি এবং আপনার উত্তর আমাকে সাহায্য করেছে।
বিশেষজ্ঞ

আমি গতকাল থেকে এই সমস্যাটি কাটিয়ে উঠার চেষ্টা করেছি। আপনার উত্তর আমাকে খুব সাহায্য করেছে! ধন্যবাদ!!!
ক্যাক্পার কোওডজিয়েজ

1
আমরা পথটি হার্ডকোডিং না করে কীভাবে করব? $ ডকুমেন্ট_রূট ওয়ার্স কি মনে হচ্ছে না ডুবে গেছে?
ব্যবহারকারী 1179459

3

আমারও একই প্রশ্ন ছিল.

আমি এটি সমাধান করার জন্য যা করেছি তা হ'ল এনগিনেক্স, পিএইচপি-এফপিএম চলমান ব্যবহারকারীর চেক করা এবং মূলটি যেখানে রয়েছে সেই ফোল্ডারে অ্যাক্সেসের জন্য তাদের অনুমতি পরীক্ষা করা। এটি ডিফল্ট 'www-ডেটা'।

তবে আপনি কমান্ড ps aux | grep php-fpmএবং ps aux | grep nginxকমান্ড ব্যবহার করে তা জানতে পারবেন ।

আপনাকে নিশ্চিত করতে হবে যে ফোল্ডারগুলি এই প্রক্রিয়াগুলি চালাচ্ছে ব্যবহারকারীর কাছে অ্যাক্সেসযোগ্য।


ক্লু করার জন্য আপনাকে ধন্যবাদ। আমি আমার ড্রপবক্স ডিরেক্টরিটির ভিতরে আমার প্রকল্পগুলি হোস্ট করার চেষ্টা করেছি, যার ডিফল্টরূপে 700 টি অনুমতি ছিল। ড্রপবক্সের অনুমতি 755 এ পরিবর্তন করা সমস্যার সমাধান করেছে।
রডিয়ন বাসকাকভ

1

আমার একই সমস্যা ছিল এবং আমার জন্য এটি এনজিনেক্স সার্ভার কনফিগারেশনে একটি ভুল কনফিগার / অ-বিদ্যমান "মূল" নির্দেশিকা ছিল


1

আমি এই ধরনের কনফিগারেশন ব্যবহার করি, আশা করি এটি আপনাকে সহায়তা করতে পারে। এটি ওএস এক্সে কাজ করে me আমার হিসাবে, @ এক্সফক্সের উত্তর কাজ করেছে। আমি এনগিনেক্স ১.6.২ এর সংস্করণটি 1.2.6 হিসাবে ভুল টাইপ করেছি, যাতে মূলটি একটি অ-বিদ্যমান ডিরেক্টরিতে পরিণত হয়।

location ~ \.php$ {
    fastcgi_intercept_errors on;
    root           /usr/local/Cellar/nginx/1.6.2/html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    include        fastcgi_params;
    fastcgi_param  SCRIPT_FILENAME /usr/local/Cellar/nginx/1.6.2/html$fastcgi_script_name;
}

0

আমি বর্তমান ব্যবহারকারী এবং ব্যবহারকারীকে গ্রুপ পরিবর্তন করে এই সমস্যাটি সমাধান করছি: পিএইচপি-এফপিএম.ডি / www.conf এ গ্রুপ

ডিফল্টরূপে ব্যবহারকারী এবং গোষ্ঠীটি 'এনজিনেক্স', এটি পরিবর্তন করুন ....

আশাকরি এটা সাহায্য করবে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.