שדרוג ל-PHP 7.0.x

Developer Services Portal v. 4.16.05

החל מ-21 ביולי 2016, PHP לא תומכת יותר בגרסאות ישנות יותר מ-5.6. כברירת מחדל, ב-Red Hat/CentOS 6 מותקן PHP 5.3.3, וב-Red Hat/CentOS 7 מותקן PHP 5.4.16. בקטע הזה מוסבר איך לשדרג ל-PHP 7.0.x.

לפני שמתחילים, מומלץ:

  • מומלץ לקרוא את כל השלבים לפני שמתחילים לבצע אותם.
  • כדאי לנסות קודם לשדרג לתמונת מצב של VM, כדי לוודא שלא נתקלים בבעיות.

כדי לשדרג ל-PHP 7.0.x:

  1. מפעילים את מאגר EPEL RPM (אם הוא עדיין לא מופעל).
    1. קודם כל, בודקים אם מאגר ה-RPM של Extra Packages for Enterprise Linux (EPEL) כבר מופעל:
      rpm -q epel-release
      
    2. אם לא מוחזרות תוצאות, מפעילים את מאגר EPEL RPM.

      ב-Red Hat 6 או ב-CentOS 6, מזינים:

      rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
      

      ב-Red Hat 7 או ב-CentOS 7, מזינים:

      rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
      
  2. מפעילים את מאגר IUS RPM (אם הוא עדיין לא מופעל).
    1. קודם כל, בודקים אם מאגר ה-RPM של Inline with Upstream Stable (IUS) כבר מופעל:
      rpm -q ius-release
      
    2. אם לא מוחזרות תוצאות, מפעילים את מאגר IUS RPM.

      ב-CentOS 6, מזינים:

      rpm -Uvh https://centos6.iuscommunity.org/ius-release.rpm
      

      ב-CentOS 7, מזינים:

      rpm -Uvh https://centos7.iuscommunity.org/ius-release.rpm
      

      ב-Red Hat 6, מזינים:

      rpm -Uvh https://rhel6.iuscommunity.org/ius-release.rpm
      

      ב-Red Hat 7, מזינים:

      rpm -Uvh https://rhel7.iuscommunity.org/ius-release.rpm
      
  3. עוצרים את Apache:
    service httpd stop
    
  4. מציגים רשימה של כל חבילות ה-PHP המותקנות:
    rpm -qa | grep -i php
    
  5. מסירים את כל חבילות ה-RPM הקיימות של PHP, שמופיעות בשלב 4 למעלה:
    yum remove php php-common php-cli ...
    
  6. מתקינים את PHP 7 RPMs ממאגר IUS:
    yum install php70u php70u-cli php70u-pdo php70u-mysqlnd php70u-gd php70u-xml php70u-mbstring php70u-process php70u-json
    
  7. מפעילים את Apache:
    service httpd start
    
  8. מוודאים שהגרסה היא 7.0.x:
    php --version
    

    בנוסף, צריך לוודא שהפקודה הבאה מחזירה רשימה של פקודות Drush (ולא הודעות שגיאה):

    /usr/local/bin/drush help
    
  9. בודקים את התוצאות בדפדפן:
    1. עוברים בדפדפן לאתר ומתחברים כאדמינים.
    2. בקטע "דוחות", לוחצים על דוח סטטוס.
    3. מוודאים שאין פריטים אדומים שקשורים למודולים חסרים של PHP.