অনেক ব্যবহারকারী এনজিনেক্স + পিএইচপি-এফপিএম ব্যবহার করার সময় ফাঁকা পৃষ্ঠাগুলির জন্য কোনও সমাধান খোঁজার প্রত্যাশায় এই থ্রেডে পড়ে যান , আমি তাদের মধ্যে একজন হয়েছি। এখানে অনেক উত্তর পড়ার পরে আমার নিজের তদন্ত (পিএইচপি 7.2-এ আপডেট হয়েছে) পড়ার পরে আমি কী শেষ করেছি তার একটি পুনরুদ্ধার:
1) /etc/php/7.2/fpm/pool.d/www.conf
প্যারামিটারের মানটি খুলুন এবং পরীক্ষা করুন listen
।
listen = /var/run/php/php7.2-fpm.sock
2) প্যারামিটারটি আপনার সাইটের কনফিগারেশন ফাইলের প্যারামিটারের সাথে listen
মেলে fastcgi_pass
(i, e /etc/nginx/sites-enabled/default
:)।
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
3) ফাইলটি উপস্থিত রয়েছে তা পরীক্ষা করুন:
$ file /var/run/php/php7.2-fpm.sock
/var/run/php/php7.2-fpm.sock: socket
৪) যদি এটি উপস্থিত না থাকে তার অর্থ পিএইচপি 7.2-এফপিএম চলছে না, সুতরাং আপনাকে এটি পুনরায় চালু করতে হবে:
$ sudo /etc/init.d/php7.2-fpm restart
[ ok ] Restarting php7.2-fpm (via systemctl): php7.2-fpm.service.
location
বিভাগটি
সম্পর্কে /etc/nginx/sites-enabled/default
:
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
ফাইলটি snippets/fastcgi-php.conf
অবস্থানে উপস্থিত রয়েছে তা পরীক্ষা করুন /etc/nginx/
:
$ file /etc/nginx/snippets/fastcgi-php.conf
/etc/nginx/snippets/fastcgi-php.conf: ASCII text
এই ফাইলটিতে php7.2-fpm দ্বারা প্রয়োজনীয় পরিবর্তনশীল সংজ্ঞাগুলির একটি তালিকা রয়েছে। ভেরিয়েবলগুলি সরাসরি বা একটি পৃথক ফাইলের অন্তর্ভুক্তের মাধ্যমে সংজ্ঞায়িত করা হয়।
include fastcgi.conf;
এই ফাইলটি অবস্থিত /etc/nginx/fastcgi.conf
এবং দেখে মনে হচ্ছে:
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
...
fastcgi_param REDIRECT_STATUS 200;
nginx : দুটি সম্ভাব্য পরামিতি ফাইলের অন্তর্ভুক্ত fastcgi_params এবং fastcgi.conf । উভয়ের মধ্যে পার্থক্য হল ভেরিয়েবলের সংজ্ঞা SCRIPT_FILENAME
:
$ diff fastcgi_params fastcgi.conf
1a2
> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
একটি দীর্ঘ গল্প সংক্ষিপ্ত করতে, quickcgi.conf সর্বদা কাজ করা উচিত। যদি কোনও কারণে আপনি সেট আপ করেন তবে দ্রুতগতি_পরিমগুলি ব্যবহার করা হয় , আপনার অবশ্যই সংজ্ঞা দেওয়া উচিত SCRIPT_FILENAME
:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
এখন nginx কনফিগারেশন পুনরায় লোড করুন:
$ sudo nginx -s reload
এবং একটি php ফাইল সঠিকভাবে প্রদর্শিত হয় তা পরীক্ষা করুন। এই ক্ষেত্রে:
/var/www/html/test.php
<pre><?php var_export($_SERVER)?></pre>
/var/www/html
নথির মূলের পথে কোথায় ।
যদি এই সমস্ত কিছু সত্ত্বেও, আপনি এখনও একটি ফাঁকা ফাইল দেখছেন তবে নিশ্চিত হয়ে নিন php.ini
যে আপনি short_open_tag
সক্ষম করেছেন (আপনি যদি সংক্ষিপ্ত ট্যাগ সহ একটি পিএইচপি পৃষ্ঠা পরীক্ষা করছেন)।