সংক্ষিপ্ত উত্তর।
আতঙ্কিত হবেন না! আপনার অ্যাপাচি সার্ভারটি পিএইচপি সংস্করণটি কী ব্যবহার করছে তা নিয়ে আপনি যদি উদ্বিগ্ন হন তবে এর আউটপুট phpinfo()
সর্বদা আপনার মনোযোগ দেওয়া উচিত। অ্যাপাচি পিএইচপি মডিউল এবং পিএইচপি কমান্ড লাইন বাইনারি দুটি পৃথক জিনিস যা একে অপরের সাথে হস্তক্ষেপ করে না।
প্রকৃতপক্ষে আপনি অ্যাপাচি যথাযথভাবে লোড করার জন্য যতক্ষণ না সামঞ্জস্য করেন ততক্ষণ আপনি বিভিন্ন পিএইচপি সংস্করণগুলি সংকলন এবং লোড করতে পারেন। পিএইচপি কমান্ড লাইন ইন্টারফেস অ্যাপাচি পিএইচপি পৃষ্ঠাগুলি পার্সিংয়ের ক্ষেত্রে কখনই কার্যকর হবে না।
পিএইচপি-র কমান্ড লাইন সংস্করণটি কেবল কমান্ড লাইন নির্দিষ্ট কাজের জন্য রয়েছে এবং অ্যাপাচের জন্য পিএইচপি মডিউলটি কখনই স্পর্শ করবে না, ব্যবহার করবে না বা প্রয়োজন হবে না।
দীর্ঘ উত্তর।
আপনি এটি বলেছেন:
আমি কোন php
সংস্করণটি ব্যবহার করছি তা জানতে চেয়েছিলাম তাই আমি স্ট্যান্ডার্ড স্ক্রিপ্টটি লিখেছিলাম:
phpinfo();
কে আমাকে পিএইচপি সংস্করণ 5.6.10- দেয় সঠিক পিএইচপি সংস্করণ আমার আবেদন জন্য প্রয়োজন। আমি যখন টার্মিনালে চেষ্টা করেছি:
php -i or php -v
এটি আমাকে পিএইচপি সংস্করণ 5.3.2 দেখায় যা আমার দরকার নেই।
কমান্ড লাইন থেকে উপলব্ধ পিএইচপি-র সংস্করণটির মডিউল হিসাবে লোড হওয়া পিএইচপি সংস্করণটির সাথে 100% কিছুই করার নেই। এগুলি সম্পূর্ণ আলাদা জিনিস।
সুতরাং আপনি যদি ওয়েব ওয়েব অ্যাপ্লিকেশনটি কোনও ওয়েব অ্যাপ্লিকেশন ব্যবহার করছেন তা সম্পর্কে উদ্বিগ্ন হন, যদি phpinfo()
সংস্করণ 5.6.10 দেখায় এবং এটি আপনি চান / প্রয়োজন যা 100% জরিমানা।
পিএইচপি-র কমান্ড লাইন সংস্করণটি সম্পূর্ণ আলাদা সিস্টেম আইটেম। সুতরাং শুধু যে বিষয়ে আউটপুট হয় phpinfo()
।
যদি কোনও কারণে আপনি অ্যাপাচি সহ পিএইচপি-র একটি আলাদা সংস্করণ ব্যবহার করতে চেয়েছিলেন তবে আপনাকে কেবলমাত্র কোথাও সংকলিত অ্যাপাচি পিএইচপি মডিউল ইনস্টল করতে হবে এবং আপনার সিস্টেমের অ্যাপাচি কনফিগারেশনে এই লাইনটি — বা সমন্বয় করতে হবে:
LoadModule php5_module /path/to/php/and/the/module/for/apache2/libphp5.so
এবং কেবল সেই পথটির সামঞ্জস্য করুন libphp5.so
- যা অ্যাপাচি পিএইচপি পার্স করার জন্য ব্যবহার করে — তারপরে অ্যাপাচি পুনরায় আরম্ভ করুন এবং আপনি ব্যবসায় রয়েছেন।
উদাহরণস্বরূপ, এক পর্যায়ে আমাকে পিএইচপি 5.3.5 চলমান উবুন্টু 12.04 মেশিনে ব্যবহারের জন্য উত্স থেকে জিডিপি 5.1.6 সংস্করণটি (জিডি গ্রন্থাগার সহায়তা সহ) সংকলন করতে হয়েছিল। সার্ভারের পিএইচপি মডিউল এখানে লোডিং ফাইলে:
/etc/apache2/mods-available/php5.load
আমার লাইনের মতো ছিল:
# LoadModule php5_module /usr/lib/apache2/modules/libphp535.so
LoadModule php5_module /usr/lib/apache2/modules/libphp516-gd.so
নোট করুন কীভাবে একটি লাইনের জন্য মন্তব্য করা হয়েছে libphp535.so
এবং libphp516-gd.so
অন্যটির জন্য অপ্রকাশিত? আমি যা করেছি তা হ'ল আমি ডিফল্ট পিএইচপি 5.3.5 libphp5.so
অ্যাপাচি মডিউলটির libphp535.so
নামটির সাথে নামটির সংস্করণ নম্বর রেখেছি যাতে আমি এটি রেফারেন্সের জন্য সেখানে রাখতে পারি এবং তারপরে পিএইচপি 5.1.6 (জিডি লাইব্রেরি সমর্থন সহ) মডিউলটির নামকরণ libphp516-gd.so
করি তাই আমি জানি কি পাশাপাশি। এই পদ্ধতিতে আমার কাছে সেগুলি উভয়ই সিস্টেমে পাশাপাশি রয়েছে।
এবং I যেমন আমি শুরুতেই বলেছিলাম command কমান্ড লাইনে ব্যবহৃত পিএইচপি সংস্করণটির অ্যাপাচি পিএইচপি মডিউলটির সাথে পুরোপুরি কিছুই করার নেই। সুতরাং আপনি অ্যাপাচি পিএইচপি মডিউলগুলির বিভিন্ন সংখ্যক সংস্করণে প্রস্তুত সিস্টেমে বসে থাকতে পারেন; কেবল একটি কনফিগার সামঞ্জস্য করুন এবং অ্যাপাচি পুনরায় চালু করুন এবং আপনি অ্যাপাচি যে নির্দিষ্ট পিএইচপি সংস্করণটি ব্যবহার করবেন তা ব্যবহার করার জন্য আপনার ব্যবসায়ের সমস্ত হওয়া উচিত।