phpinfo () এবং php -v পিএইচপি-র বিভিন্ন সংস্করণ দেখায়


16

আমি কোন phpসংস্করণটি ব্যবহার করছি তা জানতে চেয়েছিলাম তাই আমি স্ট্যান্ডার্ড স্ক্রিপ্টটি লিখেছিলাম:

phpinfo();

যা আমাকে দেয়

PHP version 5.6.10

সঠিক পিএইচপি সংস্করণ আমার আবেদন জন্য প্রয়োজন। আমি যখন টার্মিনালে চেষ্টা করেছি:

php -i

অথবা

php -v

এটি আমাকে দেখায়:

PHP version 5.3.2

যা আমার দরকার নেই। তারপরে আমি চেষ্টা করেছিলাম:

which php

এটি আমাকে দেখায়:

/usr/bin/php

এখন আমি বিভ্রান্ত হয়ে পড়েছি যে আমি পিএইচপি এর কোন সংস্করণ ব্যবহার করছি। ফাইলগুলি হোস্টিং ওয়েবসাইটে আপলোড করা হয় এবং আমি httpd.confবা কনফিগার ফাইলগুলিতে কোনও পরিবর্তন করতে পারি না php.ini

উত্তর:


19

সংক্ষিপ্ত উত্তর।

আতঙ্কিত হবেন না! আপনার অ্যাপাচি সার্ভারটি পিএইচপি সংস্করণটি কী ব্যবহার করছে তা নিয়ে আপনি যদি উদ্বিগ্ন হন তবে এর আউটপুট 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 কমান্ড লাইনে ব্যবহৃত পিএইচপি সংস্করণটির অ্যাপাচি পিএইচপি মডিউলটির সাথে পুরোপুরি কিছুই করার নেই। সুতরাং আপনি অ্যাপাচি পিএইচপি মডিউলগুলির বিভিন্ন সংখ্যক সংস্করণে প্রস্তুত সিস্টেমে বসে থাকতে পারেন; কেবল একটি কনফিগার সামঞ্জস্য করুন এবং অ্যাপাচি পুনরায় চালু করুন এবং আপনি অ্যাপাচি যে নির্দিষ্ট পিএইচপি সংস্করণটি ব্যবহার করবেন তা ব্যবহার করার জন্য আপনার ব্যবসায়ের সমস্ত হওয়া উচিত।


21

অ্যাপাচি সহ উবুন্টু 14.04 এ পিএইচপি 5 থেকে পিএইচপি 7 তে আপগ্রেড করার সময় আপনার যদি সমস্যা হয় তবে এখানে যা আমাকে সহায়তা করেছে তা এখানে (ক্রেডিট এখানে যায় ):

অ্যাপাচি-তে PHP5 মডিউলটি অক্ষম করুন:

sudo a2dismod php5

এখন পিএইচপি 7 সক্ষম করুন:

sudo a2enmod php7.1

পরিবর্তনগুলি প্রতিবিম্বিত করতে অ্যাপাচি পুনঃসূচনা প্রয়োজন:

sudo systemctl restart apache2

এই প্রকল্পটি ক্র্যাশ করতে পারে যদি php.ini আলাদা হয়
কাওয়াইএক্সএক্স

2

আপনি যদি নিজের ওয়েব সার্ভার থেকে পিএইচপি কোড চালানোর চেষ্টা করছেন, তবে আপনি যে সংস্করণটি ব্যবহার করছেন তা phpinfo()= 5.6.10 দ্বারা প্রতিবেদন করা হয়েছে ।

আপনার সার্ভারে স্পষ্টতই পিএইচপি এর একাধিক সংস্করণ ইনস্টল করা আছে এবং আপনি লগইন phpকরে এবং কমান্ড লাইনে চালানোর সময় আপনি পুরানো সংস্করণটি পাবেন যা / usr / bin / php এ ইনস্টল করা আছে।

একটি সার্ভারে পিএইচপি এর অনেকগুলি সংস্করণ থাকতে পারে এবং আপনার মনে হয়।

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

/usr/local/bin/php -v
/opt/local/bin/php -v
/opt/bin/php -v

এর মধ্যে একজন আপনার ওয়েব সার্ভারের মতো একই সংস্করণ সহ একটি পিএইচপি প্রকাশ করতে পারে এবং আপনি এটি কোনটি আবিষ্কার করেন, আপনি ডিফল্ট পরিবর্তে সেইটিকে ব্যবহার করতে পারেন।


-2

পিএইচপি সর্বশেষ সংস্করণটির জন্য পরিবেশের পরিবর্তনশীল পাথ তৈরি করুন যেমন: সি: \ wamp64 \ bin \ php \ php7.2.4 এখন আপনার পূর্ববর্তী পিএইচপি সংস্করণ ফোল্ডারটি পরিবর্তন করুন। Php5.6.35 কে অন্য কোনও নাম্বারে php5.6.354 করুন .. তারপরে php -v আপনার wamp দেখুন সার্ভার এবং ক্লিপ পিএইচপি একই হবে

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