Nginx + Php5-fpm পিএইচপি ফাইলগুলি রেন্ডারিং করে না


8

আমি কীভাবে এনগিনেক্স + রুবি এন্টারপ্রাইজ সংস্করণ + পিএইচপি 5-এফপিএম এবং এমওয়াইএসকিউএল ইনস্টল করতে পারি তা নির্ধারণের জন্য কয়েক ঘন্টা ব্যয় করেছি, শেষ পর্যন্ত এটি সমস্ত ইনস্টল করা আছে এবং সমস্ত ঠিক আছে বলে মনে হয়।

তবে কিছু কারণে পিএইচপি ফাইলগুলি প্রক্রিয়াজাত হচ্ছে না।

.html ফাইলগুলি সূক্ষ্মভাবে কাজ করে, তবে আমি যখন একটি। php ফাইল চেষ্টা করে দেখি তবে এটি উপস্থিত থাকে না যদিও এটি উপস্থিত থাকে না does মজার বিষয় হচ্ছে, যখন আমি চেষ্টা করি এবং অস্তিত্বহীন এমন একটি এইচটিএমএল ফাইলটি দেখি তখন আমি একটি সুন্দর এনগিনেক্স 404 বার্তা পাই তবে আমি যখন একটি। Php ফাইল দেখি তবে তা আমাকে দেয় না।

সুতরাং আমার নবজাতক বোঝার জন্য, দেখে মনে হচ্ছে কনফিগারেশনে কিছু ভুল আছে, বা এনগিনেক্স এবং পিএইচপি-এফপিএম একে অপরের সাথে কথা বলছে না।

আমি এনজিএনএক্স কনফিগারেশন ফাইলের আরও অনেক উদাহরণ দেখেছি এবং আমি নিশ্চিত যে বিষয়গুলির পক্ষে ঠিক আছে। ঠিক আছে ... কনফারেন্স ফাইলটির প্রাসঙ্গিক বিটটি এখানেই রয়েছে:

location ~ \.php$ {
   fastcgi_pass 127.0.0.1:9000;
   fastcgi_index index.php;
   fastcgi_param SCRIPT_FILENAME /var/www/eman/$fastcgi_script_name;
   include fastcgi_params;
 }

এবং

    fastcgi_connect_timeout 60;
 fastcgi_send_timeout 180;
 fastcgi_read_timeout 180;
 fastcgi_buffer_size 128k;
 fastcgi_buffers 4 256k;
 fastcgi_busy_buffers_size 256k;
 fastcgi_temp_file_write_size 256k;
 fastcgi_intercept_errors on;

কোন সাহায্য ব্যাপকভাবে প্রশংসা করা হয়।

সম্পাদনা : পরীক্ষার পিএইচপি ফাইল " http://eman.id.au/test.php " থেকে এখানে শিরোনাম ফিরিয়ে দেওয়া হচ্ছে :

HTTP/1.1 404 Not Found =>
Server => nginx/0.8.54
Date => Thu, 16 Dec 2010 19:30:30 GMT
Content-Type => text/html
Connection => close
X-Powered-By => PHP/5.3.2-1ubuntu4.5ppa5~lucid1

উত্তর:


10

আমি বিশ্বাস করি যে আমি আজ ঠিক একই সমস্যায় পড়েছি, এনজিনেক্স পিএইচপি-এফপিএম-র কাছে অনুরোধটি প্রেরণ করে (শিরোনামে উল্লিখিত হিসাবে) তবুও আপনি একটি 404 পান, যদিও ফাইলটি বিদ্যমান এবং এর কোনও (পিএইচপি / সিনট্যাক্স) ত্রুটি নেই, এবং কোনও লগতে কোনও ত্রুটি দেখা যায় না (এনগিনস বা পিএইচপি-এফপিএম)।

আপনি আপনার পুরো এনজিএনএক্স কনফিগারেশনটি অন্তর্ভুক্ত করেননি, তবে আপনার "সার্ভার" বিভাগে "রুট" সংজ্ঞায়িত (সঠিকভাবে?) বিকল্পটি না পাওয়া কি সম্ভব? আপনার অবশ্যই এটি করা দরকার যে এটি সঠিক অবস্থানের দিকে চিহ্নিত করে এবং এটি "সার্ভার" বিভাগের মধ্যে রয়েছে, "অবস্থান" এর মধ্যে নয় - যেমন:

server {
    root /var/www/eman;
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /var/www/eman/$fastcgi_script_name;
        include fastcgi_params;
    }
}

আমি নিশ্চিত নই, তবে সমস্যাটি হতে পারে
এমমানুয়েল

আমি ভিপিএস পুনর্নির্মাণ এবং বিভিন্ন টিউটোরিয়াল ব্যবহার করে আবার চেষ্টা করে শেষ করেছি এবং এখন এটি ভাল চলছে। :)
এমমানুয়েল

এটি আমার পক্ষে কাজ করেছে এবং আমি ফাস্টকজি_পাস প্যারামিটারের জন্য একটি ইউনিক্স সকেট ব্যবহার করছিলাম
শান

1

আপনি যদি শিরোনামগুলি দেখুন: http://eman.id.au/test.php এর সাথে সাড়া দেয় তবে আপনি দেখতে পাবেন X-Powered-By: PHP/5.3.2-1ubuntu4.5ppa5~lucid1। অনুরোধটি পিএইচপি-তে পাস না করা হলে এটি এটি দেখায় না। এছাড়াও, যদি পিএইচপি যদি ফাইল পাসথ এটিতে না পায় তবে এটি ত্রুটির প্রতিধ্বনি করবেNo input file specified.

যেহেতু আপনার সাইটটি হেডার দ্বারা চালিত আউটপুট দেয় এবং No input file specified.ত্রুটি না থাকে তার সম্ভবত কারণ হ'ল আপনার পিএইচপি স্ক্রিপ্টে একটি ত্রুটি রয়েছে এবং প্রদর্শন ত্রুটি বন্ধ রয়েছে। এটি ফাঁকা পৃষ্ঠাতে এবং আপনার ত্রুটির লগতে প্রবেশের ফলস্বরূপ, তাই সেখানে একবার দেখুন এবং দেখুন এটি পূরণ করছে না কিনা।


আহ, তাই না !! আমি পৃষ্ঠাটি গুগল ক্রোমে দেখছিলাম এবং এটি আমাকে একটি 404 ত্রুটি দিচ্ছিল, তবে আমি এটি কেবল ফায়ারফক্সে দেখেছি এবং এটি কেবল একটি ফাঁকা পৃষ্ঠা। পিএইচপি স্ক্রিপ্টে কোনও ত্রুটি নেই। প্রকৃতপক্ষে আমি এটি থেকে সমস্ত পিএইচপি বের করেছি এবং এর একমাত্র বিষয়বস্তু এইচ 1 ট্যাগ
এমমানুয়েল

আমি আমার মূল পোস্টটি টেস্ট.এফপি ফাইলের এইচটিপি শিরোনামের সাথে আপডেট করেছি
ইমানুয়েল

এবং আপনি সম্পূর্ণরূপে নিশ্চিত যে আপনার স্ক্রিপ্টগুলি / var / www / eman / এ অবস্থিত এবং সেই পথ এবং ফাইলগুলি পিএইচপি প্রক্রিয়া দ্বারা পঠনযোগ্য এবং সম্পাদনযোগ্য?
মার্টিন Fjordvald

হ্যাঁ এগুলি হ'ল স্ক্রিপ্টগুলি অবশ্যই / var / www / eman / test.php ফাইলের সূচক html হিসাবে একই ডিরেক্টরিতে রয়েছে যা সূক্ষ্মভাবে কাজ করে। তারা পিএইচপি প্রক্রিয়া দ্বারা পাঠযোগ্য এবং নির্বাহযোগ্য কিনা তা নিশ্চিত করার জন্য আমার কী পরীক্ষা করা উচিত ??? আমি এ ব্যাপারে নিশ্চিত নই?
ইমমানুয়েল

ঠিক আছে আপনি কোনওভাবে পিএইচপি স্পান-এফসিগি বা পিএইচপি-এফএমপি দিয়ে স্প্যান করেন, স্প্যান করতে ব্যবহৃত কনফিগারেশন ফাইল বা কমান্ডটিতে প্রক্রিয়াটির ব্যবহারকারী থাকা উচিত, তার পরে আপনাকে সেই ব্যবহারকারীর জন্য লিনাক্স অনুমতি পরীক্ষা করতে হবে।
মার্টিন Fjordvald

0

দু'দিক চিন্তা:

   fastcgi_param SCRIPT_FILENAME /var/www/eman$fastcgi_script_name;

এর জন্য কি অতিরিক্ত স্ল্যাশ দরকার?

   fastcgi_param SCRIPT_FILENAME /var/www/eman/$fastcgi_script_name;

এনজিআইএনএক্সের একটি বিচিত্র ক্যাসিং জিনিসও রয়েছে, সুতরাং আপনি যখন নিজের ব্রাউজারে ইউআরএল চেষ্টা করেন, তখন একটি রিফ্রেশ করতে বাধ্য করতে একটি এলোমেলো = 12391 যোগ করুন। আমি কোনও কনফিগারেশনে 30 মিনিটের জন্য বিস্মিত হয়েছি কেবল এটির সাথে কাজ করছে তা সন্ধান করার জন্য তবে আমি ক্যাশে ছিটকে যাচ্ছি।

আপনি সম্ভবত নিজের অবস্থান থেকে কিছুটা ভাল পালাতে চান (যদিও এটি আপনার যে সমস্যাটি সৃষ্টি করছে তা নয়) এটি আরও ভাল অনুশীলন:

location ~ .php$

প্রতি

location ~ \.php$

.php কেবল আপনার পৃষ্ঠাগুলি.পিএপিপি এর চেয়ে আপনার পৃষ্ঠাগুলিপিএপির মতো একটি অনুরোধের সাথে মিলবে


ঠিক আছে, আমি কনফিড ফাইলগুলি সম্পাদনা করেছি, তবে ভাগ্য খারাপ নয় ...
এমানুয়েল

ইউআরএলটি হ'ল: eman.id.au/test.php, eman.id.au নিজেই index.html এ সূক্ষ্ম কাজ করে
ইমমানুয়েল

ক্যাচিংয়ের জিনিসটি সত্য নয়, এনগিনেক্স এমন কোনও কিছু ক্যাশে করে না যা আপনি এটি নির্দিষ্টভাবে বলবেন না। এটি অ্যাপাচি এর মতো নয়, কনফিগার ফাইলটি পরিবর্তন করে কনফিগার ফাইলটি পুনরায় লোড করা প্রয়োজন। এছাড়াও আপনার ব্রাউজারটি অনুরোধগুলিকে ক্যাশে করবে, যাতে আপনি এটির সাথে বিভ্রান্ত হচ্ছেন।
মার্টিন Fjordvald
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.