মোড_এফপি কি?


108

একটি জেন্ড টিউটোরিয়াল দিয়ে যাওয়ার সময় আমি নীচের বিবৃতিটি পেলাম:

মনে রাখবেন যে .htaccess এ php_flag সেটিংস কেবল তখনই কাজ করে যদি আপনি mod_php ব্যবহার করছেন।

কেউ কি এর অর্থ ব্যাখ্যা করতে পারে?

উত্তর:


158

mod_phpপিএইচপি মানেই অ্যাপাচি মডিউল

মূলত, mod_phpঅ্যাপাচি মডিউল হিসাবে লোড করার সময় , এটি অ্যাপাচি পিএইচপি ফাইলগুলি ব্যাখ্যা করতে পারে (সেগুলি দ্বারা ব্যাখ্যা করা হয় mod_php)


সম্পাদনা করুন: আছে (অন্তত) পিএইচপি চলমান দুটি উপায়ে, যখন এ্যাপাচি সঙ্গে কাজ:

  • সিজিআই ব্যবহার করে : পিএইচপি প্রক্রিয়াটি আপাচি দ্বারা চালু করা হয়েছিল এবং এটিই পিএইচপি প্রক্রিয়া যা পিএইচপি কোডকে ব্যাখ্যা করে - নিজেই অ্যাপাচি নয়
  • পিএইচপি কে অ্যাপাচি মডিউল হিসাবে চিহ্নিত করা হয় (ডাকা mod_php) : পিএইচপি ইন্টারপ্রেটারটি তখন অ্যাপাচি প্রক্রিয়াটির ভিতরে "এম্বেডড" ধরনের হয়: বাহ্যিক কোনও পিএইচপি প্রক্রিয়া নেই - যার অর্থ অ্যাপাচি এবং পিএইচপি আরও ভাল যোগাযোগ করতে পারে


এবং মন্তব্যের পরে পুনরায় সম্পাদনা করুন : সিজিআই বা ব্যবহার করেmod_php অবধি: এটি কেবল আপনার ওয়েবসারভারের কনফিগারেশনের বিষয়।

আপনার সার্ভারে বর্তমানে কোন উপায়ে ব্যবহৃত হচ্ছে তা জানতে, আপনি এর আউটপুট চেক করতে পারেন phpinfo(): পিএইচপি mod_php (বা mod_php5) , বা সিজিআই এর মাধ্যমে চলছে কিনা তা বোঝানোর জন্য কিছু থাকতে হবে ।

আপনি এই php_sapi_name()ফাংশনটি একবার দেখে নিতেও পারেন: এটি ওয়েব সার্ভার এবং পিএইচপি এর মধ্যে ইন্টারফেসের ধরণটি দেয়


যদি আপনি আপনার অ্যাপাচি কনফিগারেশন ফাইলগুলি পরীক্ষা করে থাকেন, ব্যবহার করার সময় mod_php, এখানে একটি LoadModuleলাইনের মতো দেখতে পাওয়া উচিত :

LoadModule php5_module        modules/libphp5.so

(ডানদিকে ফাইলের নামটি আলাদা হতে পারে - উইন্ডোজে, উদাহরণস্বরূপ, এটি হওয়া উচিত .dll)


আমি পিএইচপি, অ্যাপাচি এবং মাইএসকিএল প্যাকেজ ইনস্টল করতে xampp ব্যবহার করেছি ... সুতরাং, আমার সেটআপটি কী হবে?
স্পিকটিডে

পিএইচপি বর্তমানে কাজ না করে থাকলে আপনার এটি সক্ষম করা উচিত। যদি পিএইচপি ইতিমধ্যে কাজ করছে তবে অবশ্যই এটি অবশ্যই সিজিআই ব্যবহার করা উচিত, সেক্ষেত্রে আপনাকে সম্ভবত মডিউলটি সক্ষম করার চেয়ে আরও বেশি কিছু করতে হবে। মডিউল এমনকি সিস্টেমে উপস্থিত থাকতে পারে।
d11wtq

1
হা..!. আমি যখন phpinfo চালাই () আমি দেখতে পাচ্ছি যে mod_php5 লোডড মডিউল বিভাগে অন্তর্ভুক্ত রয়েছে .... এবং এর অর্থ আমি এটি এপাচি মডিউল হিসাবে চালিয়ে পেয়েছি ... তাই না?
SpikETidE

3
mod_phpএটি এখন পর্যন্ত সবচেয়ে সাধারণ কনফিগারেশন।
আফ্রোসকন

@ পাসকল, আমি বলব mod_phpসত্যিকারের পিএইচপি নয়; এটি কেবল একটি অ্যাপাচি অ্যাডোন। বরং বা, আমি মনে করি আপনি একটি সঙ্গে উত্তর বন্ধ শুরু করা উচিত সংজ্ঞা কি এর ঠিক পিএইচপি এর অর্থ কি?
পেসারিয়ার

58

এই উত্তরটি টাক্সাদার থেকে নেওয়া হয়েছে :

আপনার ওয়েব সার্ভারের মাধ্যমে পিএইচপি চালানোর সময়, দুটি স্বতন্ত্র বিকল্প রয়েছে: পিএইচপি এর সিজিআই এসপিআই ব্যবহার করে এটি চালানো, বা ওয়েব সার্ভারের মডিউল হিসাবে চালানো। প্রত্যেকের নিজস্ব সুবিধা রয়েছে তবে সামগ্রিকভাবে মডিউলটি সাধারণত পছন্দ করা হয়।

সিজিআই হিসাবে পিএইচপি চালানোর অর্থ হ'ল আপনি নিজের ওয়েব সার্ভারকে পিএইচপি এক্সিকিউটেবল ফাইলের অবস্থানটি বলতে এবং সার্ভারটি চালানো স্ক্রিপ্ট দিয়ে প্রতিবার আপনি যখন কোনও পৃষ্ঠায় যান তখন এটি কার্যকর করা যায়। এর অর্থ প্রতিটিবার যখনই আপনি কোনও পৃষ্ঠা লোড করবেন, পিএইচপি পিএইচপি.এন.আই পড়তে হবে এবং তার সেটিংস সেট করতে হবে, এর সমস্ত এক্সটেনশান লোড করা দরকার, এবং তারপরে স্ক্রিপ্টটি বিশ্লেষণ করে কাজ শুরু করা দরকার - বারবার প্রচুর কাজ হয় is

আপনি যখন পিএইচপি মডিউল হিসাবে চালান, পিএইচপি আক্ষরিকভাবে আপনার ওয়েব সার্ভারের ভিতরে বসে - এটি কেবল একবার শুরু হয়, এর সেটিংস এবং এক্সটেনশানগুলি একবারে লোড করে এবং সেশন জুড়ে তথ্যও সঞ্চয় করতে পারে। উদাহরণস্বরূপ, পিএইচপি এক্সিলাররা পিএইচপি অনুরোধ জুড়ে ক্যাশেড ডেটা সংরক্ষণ করতে সক্ষম হওয়ার উপর নির্ভর করে যা সিজিআই সংস্করণ ব্যবহার করা অসম্ভব।

মডিউল হিসাবে পিএইচপি ব্যবহারের সুস্পষ্ট সুবিধা হ'ল গতি - আপনি সিজিআই থেকে কোনও মডিউলে রূপান্তর করলে আপনি একটি বড় গতি বাড়িয়ে দেখবেন। অনেক লোক, বিশেষত উইন্ডোজ ব্যবহারকারীরা এটি উপলব্ধি করে না এবং php.exe সিজিআই এসপিআই ব্যবহার করে যা একটি লজ্জার বিষয় - মডিউলটি সাধারণত তিন থেকে পাঁচগুণ দ্রুত হয়।

সিজিআই সংস্করণটি ব্যবহার করার একটি মূল সুবিধা রয়েছে, এবং এটি হ'ল পিএইচপি প্রতিবার কোনও পৃষ্ঠা লোড করার সাথে সাথে তার সেটিংসটি পড়ে। পিএইচপি মডিউল হিসাবে চলার সাথে সাথে, আপনি আপনার ওয়েব সার্ভারটি পুনরায় চালু না করা পর্যন্ত php.ini ফাইলটিতে যে কোনও পরিবর্তনগুলি শুরু করবেন না, যা আপনি যদি নতুন নতুন সেটিংস পরীক্ষা করে পরীক্ষা করে থাকেন এবং তাত্ক্ষণিক প্রতিক্রিয়াগুলি দেখতে চান তবে সিজিআই সংস্করণকে পছন্দনীয় করে তোলে।


@ জোহানএচাভারিয়া, আপনি প্রচুর ক্রেজি জিনিস যোগ না করলে সার্ভারটি পুনরায় চালু করতে কয়েক সেকেন্ড সময় লাগবে। এসএসডি সহ "সাধারণ" আধুনিক সিস্টেমে এটি 2 সেকেন্ডেরও কম।
পেসারিয়ার

12

আপনার সার্ভারে পিএইচপি মডিউলগুলি ইনস্টল করা দরকার যাতে এটি পিএইচপি কোডটি পার্স করতে পারে।

আপনি যদি উবুন্টুতে থাকেন তবে আপনি এটি দিয়ে সহজেই এটি করতে পারেন

sudo apt-get install apache2

sudo apt-get install php5

sudo apt-get install libapache2-mod-php5

sudo /etc/init.d/apache2 restart

অন্যথায় আপনি পিএইচপি: http://dan.drydog.com/apache2php.html সঙ্গে অ্যাপাচি কম্পাইল করতে পারেন

আপনার সার্ভার ওএস নির্দিষ্ট করে অন্যদের আরও নির্দিষ্ট করে উত্তর দিতে সহায়তা করবে।


5

এর অর্থ হ'ল আপনাকে পিএইচপি সিজিআই স্ক্রিপ্ট হিসাবে শুরু না করে অ্যাপাচিতে মডিউল হিসাবে ইনস্টল করতে হবে।


3

এই উত্তরগুলিতে কেবল যোগ করার জন্য, এইচডিটিপিডি সার্ভারে পিএইচপি ব্যবহারের জন্য Mod_php হল প্রাচীনতম এবং ধীরতম পদ্ধতি। আপনি অ্যাপাচি এইচটিটিপিডি এবং পিএইচপি-র পুরানো সংস্করণগুলি চালনা না করা বাঞ্ছনীয় নয়। পিএইচপি-এফপিএম এবং প্রক্সি_সিজি হ'ল পছন্দসই পদ্ধতি।


0

mod_php একটি পিএইচপি ইন্টারপ্রেটার।

দস্তাবেজগুলি থেকে, Mod_php এর একটি গুরুত্বপূর্ণ ক্যাচটি হ'ল,

"মোড_এফপি থ্রেড নিরাপদ নয় এবং আপনাকে প্রিফার্ক এমপিএম (মাল্টি প্রসেস, কোনও থ্রেড নেই) দিয়ে আটকাতে বাধ্য করে, যা সম্ভবত ধীরে ধীরে সম্ভব কনফিগারেশন"

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