পিএইচপি সংস্করণ phpinfo () এবং CLI এ আলাদা কেন?


27

আমি বুঝতে পেরেছি যে পিএইচপি সংস্করণ phpinfo()এবং php -vসিএলআই-তে রিপোর্ট করা সংস্করণের মধ্যে একটি মিস মিল রয়েছে ।

phpinfo():  5.5.24
php -v: 5.6.9

আমি একটি ম্যাক ওএস এক্স 10.10 (ইয়োসেমাইট) এ কাজ করছি এবং php-versionপিএইচপি সংস্করণগুলি পরিচালনা করার চেষ্টা করার জন্য একটি লাইব্রেরি ( ) ইনস্টল করেছি ।

এটি আমাকে আমার ল্যাপটপে ইনস্টল করা 3 টি ভিন্ন সংস্করণ রিপোর্ট করেছে:

  5.4.41
  5.5.25
* 5.6.9

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

আমি কীভাবে আপাচিকে বলতে পারি কোন পিএইচপি সংস্করণ ব্যবহার করে?

আমি এই লাইনটি আমার লেখার চেষ্টা করেছি httpd.conf:

LoadModule php5_module    /usr/local/opt/php56/libexec/apache2/libphp5.so

তারপর:

sudo apachectl restart

তবে এইগুলি সমস্যার সমাধান করে না ... আমার পিএইচপি তথ্যে আমার এখনও আছে: 5.5.24


আরও দেখুন superuser.com/questions/969861/…
bertieb

1
@ বারতিয়েব প্রশ্নটি আসলে অন্য একটির মতোই। আমি কেবল এটির উত্তর দিয়েছি , তবে এখানে নির্দিষ্ট সমস্যা রয়েছে আমিও উত্তর দেওয়ার চেষ্টা করব।
জেকগল্ড

উত্তর:


14

এখানে কয়েকটি বিভিন্ন সমস্যা সমস্ত পিএইচপি সংস্করণ বিভ্রান্তির ধারণার আওতায় লুকিয়ে রয়েছে, তাই প্রতিটিটিকে যথাসম্ভব সুস্পষ্টভাবে সমাধান করার চেষ্টা করবে। প্রথম এটি:

আমি বুঝতে পেরেছি যে পিএইচপি সংস্করণ phpinfo()এবং php -vসিএলআই-তে রিপোর্ট করা সংস্করণের মধ্যে একটি মিস মিল রয়েছে ।

phpinfo():  5.5.24
php -v: 5.6.9

পিএইচপি সিএলআই পিএইচপি অ্যাপাচি মডিউলটির মতো নয়।

আমি এখানে এই অন্যান্য প্রশ্নের উত্তরে যেমন ব্যাখ্যা করছি , আতঙ্কিত হবেন না! আপনার অ্যাপাচি সার্ভারটি পিএইচপি সংস্করণটি কী ব্যবহার করছে তা নিয়ে আপনি যদি উদ্বিগ্ন হন তবে এর আউটপুট phpinfo()সর্বদা আপনার মনোযোগ দেওয়া উচিত। অ্যাপাচি পিএইচপি মডিউল এবং পিএইচপি কমান্ড লাইন বাইনারি দুটি পৃথক জিনিস যা একে অপরের সাথে হস্তক্ষেপ করে না।

phpinfo()আপনি যদি অ্যাপাচে সঠিক পিএইচপি মডিউল সংস্করণ সেট করার বিষয়ে উদ্বিগ্ন হন তবে আউটপুটটির দিকে মনোযোগ দিন ।

এটি বলেছিল, আপনার এখনও অ্যাপাচে লোড হওয়া সঠিক পিএইচপি মডিউল পাওয়ার সমস্যা রয়েছে বলে মনে হচ্ছে:

আমি এই লাইনটি আমার লেখার চেষ্টা করেছি httpd.conf:

LoadModule php5_module    /usr/local/opt/php56/libexec/apache2/libphp5.so

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

আপনি প্রযুক্তিগতভাবে যা করেছেন তা সঠিক বলে মনে হচ্ছে, কেবল এটিই কাজ না করার জন্য আমি দেখতে পাচ্ছি একমাত্র কারণেই LoadModule php5_moduleঅ্যাপাচি কনফিগারেশন ফাইলে আরও একটি নির্দেশিকা রয়েছে যা আপনি যে রেখাটি নির্ধারণ করছেন তার মূল্যকে ছাড়িয়ে যাচ্ছে।

আমি httpd.confএখানে যা অবস্থিত তা অনুমান করার চেষ্টা করব - /etc/apache2/httpd.confএবং দেখুন যে সম্ভবত সেখানে অন্য কোনও ঘটনা রয়েছে LoadModule php5_moduleযা আপনি মিস করেছেন বা সেই ফাইলটি সম্পাদনার সময় খেয়াল করেননি। ম্যাক ওএস এক্স ১০.৯.৫ এ আমার সমতুল্য ফাইলটির দিকে তাকিয়ে দেখছি লাইনটি মন্তব্য করা হয়েছে - যেহেতু আমি ম্যাক ওএস এক্স অ্যাপাচি / পিএইচপি সেটআপগুলি ব্যবহার করি না — এবং এরকম কিছু পড়েছি:

#LoadModule php5_module libexec/apache2/libphp5.so

অবশ্যই আপনার ক্ষেত্রে এটি uncommented হবে। ওয়েব বিকাশের জন্য অ্যাপাচি এবং পিএইচপি কনফিগার করার বিষয়ে আরও বিশদ এই সাইটে পাওয়া যাবে

ম্যাক ওএস এক্স অ্যাপাচি / পিএইচপি কুইর্কের বিকল্প হিসাবে এমএএমপি ব্যবহারের বিষয়টি গুরুত্ব সহকারে বিবেচনা করুন।

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

এমএএমপির সুবিধা হ'ল এটি একটি চূড়ান্ত উত্পাদন স্তরের ম্যাক ওএস এক্স এর সাথে একটি এলএএমপি স্ট্যাকের সমতুল্য। এবং যেহেতু এটি রিয়েল-ওয়ার্ল্ড ওয়েব ডেভলপমেন্টের দিকে এগিয়ে গেছে, এর সমস্ত মডিউল এবং কনফিগারেশন সেটআপ রয়েছে ঠিক যেমন একটির সেটআপ করা উচিত।

ম্যাক ওএস এক্স-এ অ্যাপাচি এবং পিএইচপি-র মূল সমস্যাটি হ'ল সফ্টওয়্যারটি সাধারণত পুরানো হয় config এবং যদি কোনও ম্যাক ওএস এক্স আপডেট আসে যা সেই সাথে আপনার সাবধানে সেটআপ অ্যাপাচি এবং পিএইচপি সেটিংস মুছে দেয়? আপনি আবার স্কোয়ারে ফিরে এসেছেন।


প্রশ্নটিকে সদৃশ হিসাবে চিহ্নিত করার পরিবর্তে আপনি কেন এই সদৃশটির উত্তর দিয়েছিলেন?
পিএমপিআর

@ ট্রিক্স কারণ যে "নকল" একে অপরের কয়েক দিনের মধ্যে পোস্ট করা একটি পৃথক প্রশ্নের একই অনুরূপ উত্তর। আমি এখানে একটি অনুরূপ মন্তব্যের জবাব হিসাবে , "@ বার্তিয়েব প্রশ্নটি আসলে অন্য একটির মতো। আমি কেবল এটির উত্তর দিয়েছি, তবে এখানে নির্দিষ্ট সমস্যা রয়েছে আমিও উত্তর দেওয়ার চেষ্টা করব। - জ্যাকগল্ড সেপ্টেম্বর 12 '15 এ 0:42 "কমান্ড লাইন থেকে পিএইচপি মধ্যে পার্থক্য সম্পর্কে একটি প্রশ্ন। অন্যটি সেই এবং পিএইচপি মডিউল সম্পর্কিত সমস্যাগুলি।
জ্যাকগল্ড

4

আমি আমার সমস্যার সমাধান খুঁজে পেয়েছি। সম্পাদনার পরে /etc/apache2/httpd.confআমি অ্যাপাচি ব্যবহার করে পুনঃসূচনা করতাম:

sudo apachectl restart

কোনও কারণে এই কমান্ডটি ব্যবহার করে অ্যাপাচি আপডেটগুলি আনবে না httpd.confএবং পুরানো কনফিগারেশনটি লোড করবে না ।

ব্যবহার:

sudo apachectl -k stop
sudo apachectl -k start

সমস্ত পরিষেবাদি এক ধরণের হার্ড পুনরায় আরম্ভ করুন এবং কনফিগার ফাইলে আপডেটগুলি পড়ুন এবং শেষ পর্যন্ত নতুন পথটি পড়ুন php5_module:

/usr/local/opt/php56/libexec/apache2/libphp5.so

জ্যাকগল্ডকে তার ব্যাখ্যার জন্য ধন্যবাদ ।


কমান্ডগুলি থেকে -kপতাকা সরানোর জন্য পোস্টটি সম্পাদনা করা হয়েছে apachectlযেহেতু আপনি যদি apachectl -hসেখানে পতাকা / বিকল্পের অস্তিত্ব না পরীক্ষা করেন। আপনি কোথা থেকে পেয়েছেন তা ধারণা নেই। এছাড়াও, আপনি যখন কাজগুলি করার সময় stopএবং startজিনিসগুলি পরিষ্কার করার কথা বলছেন, তখন অদ্ভুত বিষয়টি হ'ল restartলিনাক্স সিস্টেমে ঠিক এটি করে। আপনি যদি অবস্থিত স্ক্রিপ্টটি পরীক্ষা করে থাকেন /usr/sbin/apachectl(এটি কোনও স্ক্রিপ্ট তাই দেখার জন্য কোনও পাঠ্য সম্পাদক ব্যবহার করুন) এটিও ঠিক তেমনটি করবে বলে মনে হয়। LaunchDaemonsস্ট্যান্ডার্ড লিনাক্সের তুলনায় ম্যাক ওএস এক্সে অ্যাপাচি কেবল “অদ্ভুত”? যাইহোক, দুর্দান্ত আপনি এই সমাধান করেছেন।
জ্যাকগল্ড

কেবলমাত্র আপনার তথ্যের জন্য আমি এখানে -k পতাকা সহ কমান্ডটি পেয়েছি: httpd.apache.org/docs/2.2/stopping.html
সালভাতোর ডিবেডনেটো

আপনি সঠিক. আমি /usr/sbin/apachectl(কোনও আদেশ ছাড়াই) "সহায়তা" আউটপুটটি দেখেছি এবং এতে স্পষ্টভাবে বলা হয়েছে [-k start|restart|graceful|graceful-stop|stop],। লিনাক্স সিস্টেমে অ্যাপাচি যেভাবে কাজ করে আমি এখন সেভাবে অভ্যস্ত হয়েছি মনে -kহয় apachectlকমান্ডের সাহায্যে পতাকাটির জন্য ভুলে গেছি । সুতরাং আপনার আসল সমস্যাটি জেনে আপনি এই আদেশটি পুনরায় আরম্ভ করার চেষ্টা করছেন sudo apachectl restartযখন এটিতে -kপতাকাটি যুক্ত করা উচিত ছিল sudo apachectl -k restart
জ্যাকগল্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.