আমি কীভাবে ইয়াম সহ সেন্টোসের সর্বশেষ পিএইচপি সংস্করণে আপগ্রেড করব?


22

আমি এটি সম্পর্কে কিছু ব্লগ পোস্ট পেয়েছি, তবে এটির সম্ভাব্য পার্শ্ব প্রতিক্রিয়াগুলির তুলনায় বর্ণনার অভাব রয়েছে।

আমি এই পদক্ষেপগুলিতে সত্যই কিছু বিশদ ব্যবহার করতে পারি:

  1. পিএমএফপি 5.4 ইউমে সরবরাহ করে এমন একটি রেপো কীভাবে যুক্ত করবেন
  2. এটি কি নির্বিঘ্নে সেন্টোসের বর্তমান পিএইচপি সংস্করণটি প্রতিস্থাপন করতে পারে?
  3. পিএইচপি 5.4 সমর্থন করে আমি কীভাবে অফিসিয়াল রেপোতে ফিরে যেতে পারি? (আমার সিস্টেমে বর্তমান 5.3.3)
  4. আমি বর্তমানে ব্যবহৃত পিএইচপি মডিউলগুলি ভাঙ্গার কি কোনও সম্ভাবনা থাকবে?

বিঃদ্রঃ

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

আপনি যদি অন্যান্য সংস্করণে সফলভাবে আপগ্রেড করেন তবে এটি আপডেট করতে নির্দ্বিধায়।

  • পিএইচপি সংস্করণ: 5.4, 5.5, 5.6
  • CentOS সংস্করণ: 5, 6

উত্তর:


19

আমি ফেডোরার 17/16, সেন্টোস / আরএইচএল 6.3 / 5.8 এ অ্যাপাচি / পিএইচপি 5.4.10 থেকে কিছুটা পরিবর্তন করে নির্দেশাবলী অনুসরণ করেছি । এটি 10 ​​মিনিট সময় নিতে পারে। আমার সঠিক কমান্ডগুলি নীচে দেখানো হয়েছে। নোট করুন যে নিবন্ধে প্রদর্শিত হয় তা থেকে প্রথম কমান্ডটি পরিবর্তন করতে হয়েছিল। পরিবর্তন ছিল epel-release-6-7.noarch.rpmথেকে epel-release-6-8.noarch.rpm

  1. পিএমএফপি 5.4 ইউমে সরবরাহ করে এমন একটি রেপো কীভাবে যুক্ত করবেন?

    yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
    yum install http://rpms.remirepo.net/enterprise/remi-release-6.rpm
    
  2. এটি কি নির্বিঘ্নে সেন্টোসে বর্তমান পিএইচপি সংস্করণটি প্রতিস্থাপন করতে পারে? আমার জন্য নিম্নলিখিত কমান্ডগুলি কাজ করেছে এবং আমার বিদ্যমান পিএইচপি ওয়েব পৃষ্ঠাগুলির কোনওটিই ভাঙ্গেনি। আপনার মাইলেজ পরিবর্তিত হতে পারে.

    yum --enablerepo=remi install httpd php php-common
    yum --enablerepo=remi install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
    service httpd restart
    
  3. যখন আমি পিএইচপি 5.4 সমর্থন করি তখন আমি কীভাবে অফিসিয়াল রেপোতে ফিরে যেতে পারি? আমি সেন্টোস সংগ্রহস্থলগুলি থেকে পিএইচপি অপসারণ এবং পুনরায় ইনস্টল করার কমান্ডগুলি পরীক্ষা করে দেখিনি, তবে এগুলি কাজ করা উচিত।

    # Remove the Remi packages. Note the reversed command order
    yum remove php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
    yum  remove httpd php php-common
    # Install the CentOS packages. 
    yum install httpd php php-common
    yum install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
    
  4. আমি [sic] বর্তমানে ব্যবহৃত পিএইচপি মডিউলগুলি ভাঙ্গার কি কোনও সম্ভাবনা আছে? হ্যাঁ। জেন্ড ইনস্টলার ব্যবহার করে ইনস্টল করা জেন্ডের সাথে সেন্টোস (6.2?) এর সাম্প্রতিক সংস্করণ ব্যবহার করে উপরের আপগ্রেডটি জেন্ডকে ভেঙে দিয়েছে।

উপরের সমস্ত কমান্ড হিসাবে চালিত হয়েছিল root। সেরা অনুশীলন হ'ল একটি অননুমোদিত ব্যবহারকারী এবং ব্যবহার হিসাবে লগইন sudo। (এটি একটি বর্তমান স্ন্যাপশট সহ একটি বিকাশ ভিএম ...)

এছাড়াও, রেমি সংগ্রহস্থলটি ডিফল্টরূপে সক্ষম করবেন না - অতীতে আমি চালাক হয়েছি এবং এটি ডিফল্টরূপে সক্ষম করেছিলাম এবং এমনকি জিনিসগুলি ভাণ্ডার অগ্রাধিকার দিয়েও ভেঙে যায়।


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

1
@ কাজিমিরাস অ্যালিউলিস দুর্ভাগ্যক্রমে আইওএস রেপো বেমানান প্যাকেজ এবং ফাইলের নাম ব্যবহার করে নির্ভরতা নরকে প্ররোচিত করে। আমি এটি ব্যবহার করার পরামর্শ দিতে পারি না।
মাইকেল হ্যাম্পটন

খুব পুঙ্খানুপুঙ্খ বর্ণনা। যেহেতু জেন্ড ইঞ্জিন সম্পর্কিত আমার কোনও কোড নেই, তাই এটি আমার ক্ষেত্রে গুরুত্বপূর্ণ নয়, তাই না?
ভিসারি

1
@ মিশেলহ্যাম্পটন আমি ব্যবহার করি yum --enablerepo=remi updateএবং এটি সম্পর্কিত সমস্ত পিএইচপি প্যাকেজগুলির যত্ন নেয়, দেখতে আরও ভাল সমাধান বলে মনে হয়। সার্ভারটি কিছু দিন ধরে সমস্যা ছাড়াই এখন চলছে, সমস্ত তথ্যের জন্য ধন্যবাদ।
ভিসারি

1
দ্রষ্টব্য: লোকটি phpইনস্টল তালিকায় যুক্ত করতে ভুলে গিয়েছিল , যা আমাকে অনেক সমস্যার কারণ হিসাবে অ্যাপাচি পিএইচপি ফাইলগুলি পরিবেশন করে না, তাই ব্যবহার করার সময় এটি যুক্ত করতে ভুলবেন না
এরিক.টিজাক

9

অন্যান্য ওয়েবটাটিক উত্তরের চেয়ে উন্নতি:

ঘ। Http://www.webtatic.com/packages/php54/ এ গাইড ব্যবহার করা :

rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

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

yum shell
> remove php-common
> install php54w-common
> run
…
Is this ok [y/N]: n

ফলাফলগুলিতে "y" বলবেন না, তবে "নির্ভরতার জন্য অপসারণ" এ উল্লিখিত সমস্ত প্যাকেজগুলির নোট নিন eg

Removing for dependencies:
 php
 php-cli
 php-pear
 php-pecl-memcache
 php-mysql

যদি এই তালিকায় পিএইচপি * ব্যতীত অন্য প্যাকেজ থাকে তবে আপনি নির্বিঘ্নে ওয়েবট্যাটিক পিএইচপি 5.4 এ স্যুইচ করতে পারবেন না, তবে বিকল্পগুলি অনুসন্ধান করতে হবে। ওয়েবট্যাটিকের সমস্ত বেস পিএইচপি প্যাকেজগুলির জন্য প্রতিস্থাপন প্যাকেজ রয়েছে (কনফার্মের জন্য 1 তে লিঙ্কযুক্ত প্যাকেজগুলি দেখুন), সুতরাং কোনও সমস্যা হবে না, যদি না আপনি নির্দিষ্ট পিএইচপি সংস্করণের উপর নির্ভর করে প্যাকেজ ইনস্টল থাকা অন্যান্য 3 য় পক্ষের সংগ্রহস্থল ব্যবহার না করেন ইনস্টল করা নেই।

বাকি ইনস্টলেশন (এখনও yum শেলের মধ্যে) জন্য, আপনি কেবল এই প্যাকেজগুলি সরিয়ে ফেলুন এবং তাদের php54w- * প্রতিরূপগুলি ইনস্টল করুন:

> remove php-common php php-cli php-pear php-pecl-memcache php-mysql
> install php54w-common php54w php54w-cli php54w-pear php54w-pecl-memcache php54w-mysql
> run
…
Is this ok [y/N]: y

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

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

ঘ। হাইপোথিটিকাল সেন্টোস বেস php54 প্যাকেজ (CentOS 5 ব্যবহৃত php53 উপসর্গ) স্যুইচ করতে, আপনি কেবল উপরের পদক্ষেপগুলি php54w অপসারণের সাথে php অপসারণ প্রতিস্থাপন করে, এবং php54w ইনস্টলেশন যেমন php54 ইনস্টলেশন দ্বারা প্রতিস্থাপন করেছেন।

yum shell
> remove php54w-common
> install php54-common
> run
…
Is this ok [y/N]: n
…
> remove php54w-common php54w php54w-cli php54w-pear php54w-pecl-memcache php54w-mysql
> install php54-common php54 php54-cli php54-pear php54-pecl-memcache php54-mysql
> run
Is this ok [y/N]: y

তবে হাইপোথিটিকাল বেস php54 এ স্যুইচ করার ক্ষেত্রে সম্ভবত কিছু প্যাকেজগুলির বিকল্প নেই (যেমন, সেন্টোস 5-তে কোনও php53-pecl-memcache এক্সটেনশন ছিল না) এবং ওয়েবট্যাটিকের এমন প্যাকেজ রয়েছে যা সেন্টোস বেসে উপলভ্য নয় (যেমন php54w) -pecl-zendopcache)। যদি সেগুলি নিখোঁজ হয় তবে সাধারণত এগুলি ইনস্টল করতে সরাসরি পেকল ব্যবহার করা ছাড়া আপনার কাছে অন্য কোনও বিকল্প নেই।

ঘ। যে কোনও পিএইচপি আপগ্রেডগুলি বাগ প্রবর্তন করতে পারে এবং ওয়েবসাইটগুলি পুনরায় পোস্ট করা উচিত। এটি ওয়েবট্যাটিকের সাথে সুনির্দিষ্ট নয়, তবে সাধারণ বৈশিষ্ট্য যে নতুন বৈশিষ্ট্যগুলি নতুন বাগগুলি প্রবর্তন করে।

গৃহীত উত্তরে রেমির সংগ্রহস্থলের বিপরীতে, ওয়েবট্যাটিক ইএল 6 সংগ্রহস্থল কখনই সেন্টোস বেস সংগ্রহস্থলের মতো একই প্যাকেজ নাম ব্যবহার করে না, সুতরাং আপনি যে প্যাকেজে স্যুইচ করতে চান না সেগুলির ইনস্টলেশন / আপগ্রেডকে ওভাররাইড করবে না এবং এগুলি ডিফল্টরূপে সক্ষম করা হবে।

দাবি অস্বীকার: আমি ওয়েবট্যাটিকের মালিক / রক্ষণাবেক্ষণকারী


নির্ভরতা পর্যবেক্ষণের জন্য ইয়াম শেল পদ্ধতিটি সত্যিই দুর্দান্ত, ধন্যবাদ।
ভিসারি

@ অ্যান্ডি, দুর্দান্ত বিস্তারিত লেখার জন্য ধন্যবাদ, আপনাকে ধন্যবাদ। আমি কীভাবে পিএইচপি-র ডিফল্ট ক্লিপ (এবং কেবল ক্লিপ) সেন্টোস 6 এ 5.4 এ পরিবর্তন করব?
গাইয়া

0

আপনি এখানে yum ইনস্টলের জন্য পিএইচপি 5.4.9 পেতে পারেন:

http://www.webtatic.com/packages/php54/

আপনি আপনার সমস্ত বর্তমান পিএইচপি প্যাকেজ দেখতে এবং মুছে ফেলার জন্য "আরপিএম -e" দেখতে একটি "আরপিএম -কিউ | গ্রেপ পিএইচপি" করতে পারেন। আমি আপনার বর্তমান মডিউলগুলি জানি না, তবে আপগ্রেড করার আগে এটি পরীক্ষার পক্ষে মূল্যবান।


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