Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

ติดตั้ง PHP 7 บน Ubuntu 14.04 LTS

Ubuntu 14.04 (Trusty Tahr) เป็น LTS ที่สิ้นสุดการสนับสนุน (EOL) แล้ว แต่บางระบบ Legacy ยังคงใช้อยู่ คู่มือนี้สำหรับระบบที่ยังไม่ย้าย Platform

⚠️ คำเตือนสำคัญ

  • Ubuntu 14.04 EOL منذ April 2019 - ไม่ได้รับ Security Update
  • แนะนำย้ายไป Ubuntu 20.04/22.04/24.04 LTS
  • PPA ondrej/php ยังรองรับ 14.04 แต่ไม่ควรใช้ Production ใหม่

ขั้นตอนที่ 1: เพิ่ม PPA ondrej/php

# ติดตั้งเพื่อจัดการ Repository
apt-get update
apt-get install -y software-properties-common

# เพิ่ม PPA (รองรับ PHP 5.6 + 7.0+ พร้อมกัน)
LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
apt-get update

ขั้นตอนที่ 2: ติดตั้ง PHP 7.0 (หรือ 7.4 ถ้ามีใน PPA)

# ดู Version ที่มี
apt-cache search php7 | grep ^php7

# ติดตั้ง PHP 7.0 (Version เดิมใน PPA สำหรับ 14.04)
apt-get install -y php7.0 php7.0-cli php7.0-fpm php7.0-mysql php7.0-curl php7.0-gd php7.0-mbstring php7.0-xml php7.0-zip php7.0-json php7.0-opcache

# หรือ PHP 7.4 (ถ้า PPA รองรับ - ต้องเช็คก่อน)
# apt-get install -y php7.4 php7.4-cli php7.4-fpm ...

ขั้นตอนที่ 3: กำหนดค่า PHP-FPM

# แก้ไข Pool Config
vi /etc/php/7.0/fpm/pool.d/www.conf

# เปลี่ยน User/Group ให้ตรงกับ Web Server (www-data)
user = www-data
group = www-data

# Listen Socket
listen = /run/php/php7.0-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660

# Process Manager (ปรับตาม RAM)
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10

ขั้นตอนที่ 4: กำหนดค่า Nginx (ถ้าใช้ Nginx)

# /etc/nginx/sites-available/your-site
server {
    listen 80;
    server_name yourdomain.com;
    root /var/www/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    # Deny access to sensitive files
    location ~ /\.(htaccess|git|env) {
        deny all;
    }
}

ขั้นตอนที่ 5: Restart และ Test

# Restart Services
systemctl restart php7.0-fpm
systemctl restart nginx

# ตรวจสอบ Status
systemctl status php7.0-fpm
systemctl status nginx

# Test PHP Version
php -v

# Test ผ่าน Web
echo ' /var/www/html/info.php
# เปิด https://your-server/info.php

ขั้นตอนที่ 6: ติดตั้ง Nginx (ถ้ายังไม่มี)

apt-get install -y nginx
systemctl enable nginx
systemctl start nginx

Migration Path สำหรับระบบ Legacy

  1. Short-term: ใช้ PPA ondrej/php บน Ubuntu 14.04 (ตามคู่มือนี้)
  2. Medium-term: Upgrade OS เป็น Ubuntu 18.04 → 20.04 (do-release-upgrade)
  3. Long-term: Deploy ใหม่บน Ubuntu 22.04/24.04 + Docker/Container

PHP 7.0 vs 7.4 บน Ubuntu 14.04

PPA ondrej/php สำหรับ Ubuntu 14.04 อาจมีเฉพาะ PHP 7.0-7.3 เท่านั้น PHP 7.4+ ต้องการ Ubuntu 16.04+ หากต้องการ PHP 7.4+ ควร Upgrade OS