Wednesday, October 19, 2022

Ubuntu 22.04 downgrade PHP 8.1 to PHP 8.0 or PHP 7.4 (Apache)

  • ประเด็นคือย้าย Codeignitor 4 จาก PHP 7.4 ที่ Server เครื่องเก่าไป VM เครื่องใหม่
  • โดย Server ตัวใหม่ลง apache2 + PHP 8.1 ไว้ใช้งานแล้ว แต่ CI4 เค้าว่ามีปัญหากับ PHP 8.1 ซะงั้น
  • https://stackoverflow.com/questions/70285088/uncaught-errorexception-strtolower-passing-null-to-parameter-1-string-of
  • เค้าแนะนำให้ใช้ PHP 8.0 พอ
  • ที่ทำอยู่นิ ใช้ Apache2 นะคับ

Solved

  • add repo ก่อนถึงจะติดตั้ง php8.0 ได้เพราะ 22.04 ค่าเริ่มของ repo เค้าได้ php8.1 นะ 
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update

  • ติดตั้ง php8.0 และ package ที่จำเป็น

sudo apt install php8.0 php8.0-common php8.0-cli

sudo apt install php8.0-bcmath php8.0-bz2 php8.0-curl php8.0-intl php8.0-mbstring php8.0-mysql php8.0-readline php8.0-xml php8.0-zip php8.0-gd php8.0-gmp

  • เปิดใช้งาน php8.0 (a2enmod ใช้ได้เฉพาะ ลง apache แล้วเท่านั้น)

sudo a2enmod php8.0

  • ปิดการใช้งาน php8.1 (a2dismod ใช้ได้เฉพาะ ลง apache แล้วเท่านั้น)

sudo a2dismod php8.1

  • สลับให้ Ubuntu ไปใช้ lib ของ php8.0 เป็นค่าเริ่มต้น

sudo update-alternatives --set php /usr/bin/php8.0

  • restart apache ซะหน่อย

sudo /etc/init.d/apache2 restart หรือ $ sudo systemctl restart apache2

Add

  • ถ้าเราต้องการใช้  downgrade ไปที่ 7.4 ก็เปลี่ยนจาก 8.0 เป็น 7.4 ในคำสั่งด้านบนเท่านั้น
  • server ใหม่ในที่นี้ใช้ Ubuntu 22.04 ตัวเก่าใช้ 18.04
  • เช็ค version php ที่ระบบใช้อยู่ปัจจุบัน
sudo php -v

Ref

  • https://juuier.blogspot.com/2020/09/rewrite-urls-with-modrewrite-for-apache.html
  • https://juuier.blogspot.com/2021/06/update-to-php-74-on-ubuntu-1804.html
  • https://juuier.blogspot.com/2021/09/scp-copy-tool-ubuntu-2004.html


No comments:

Post a Comment