Cài đặt PHP 7.1 trên Rocky Linux 8

Bạn muốn cài đặt PHP 7.1 trên Rocky Linux 8 để chạy các ứng dụng web cũ hoặc đơn giản là vì yêu cầu dự án? Bài viết này sẽ hướng dẫn bạn chi tiết từng bước để hoàn thành việc này. Chúng tôi sẽ cung cấp các lệnh cần thiết và giải thích rõ ràng từng bước.

This guide walks you through installing PHP 7.1 on Rocky Linux 8.

Tìm hiểu thêm về Php là gì? và ứng dụng của nó trong phát triển web.

Tại sao lại chọn PHP 7.1?

PHP 7.1 mặc dù không phải là phiên bản mới nhất, nhưng nó vẫn được sử dụng rộng rãi. Nó tương thích với nhiều ứng dụng web cũ. Một số dự án có thể yêu cầu phiên bản PHP cụ thể để đảm bảo tính ổn định và khả năng tương thích.

Các bước chuẩn bị

Trước khi bắt đầu, hãy đảm bảo bạn có quyền truy cập root hoặc quyền sudo. Bạn cũng cần một kết nối internet ổn định để tải xuống các gói cần thiết. Chúng tôi sẽ sử dụng trình quản lý gói `dnf` để cài đặt PHP.

Cập nhật hệ thống

Đầu tiên, hãy cập nhật hệ thống của bạn để đảm bảo rằng tất cả các gói hiện có đều được cập nhật lên phiên bản mới nhất. Điều này giúp tránh các xung đột có thể xảy ra trong quá trình cài đặt.

sudo dnf update -y

Thêm kho lưu trữ Remi

Rocky Linux 8 không cung cấp PHP 7.1 mặc định. Chúng ta cần thêm kho lưu trữ Remi, một kho lưu trữ phổ biến cung cấp nhiều phiên bản PHP khác nhau. Để thêm kho lưu trữ Remi, hãy làm như sau:

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

Bật kho lưu trữ PHP 7.1 Remi

Sau khi thêm kho lưu trữ Remi, chúng ta cần bật kho lưu trữ PHP 7.1. Sử dụng lệnh sau:

sudo dnf module enable php:remi-php71 -y

Cài đặt PHP 7.1 và các phần mở rộng

Bây giờ, chúng ta có thể cài đặt PHP 7.1 và các phần mở rộng cần thiết. Hãy cài đặt các phần mở rộng phổ biến như `php-mysqlnd`, `php-fpm`, `php-gd`, `php-xml`, `php-mbstring`, và `php-json`.

sudo dnf install php php-mysqlnd php-fpm php-gd php-xml php-mbstring php-json -y

Khởi động và kích hoạt PHP-FPM

Sau khi cài đặt PHP, hãy khởi động dịch vụ PHP-FPM và kích hoạt nó để khởi động cùng hệ thống.

sudo systemctl start php-fpm sudo systemctl enable php-fpm

Cấu hình PHP-FPM

Bạn có thể cần cấu hình PHP-FPM để phù hợp với nhu cầu của ứng dụng web của bạn. Các tệp cấu hình PHP-FPM thường nằm trong thư mục `/etc/php-fpm.d/`.

Kiểm tra cài đặt PHP

Để kiểm tra xem PHP đã được cài đặt thành công hay chưa, bạn có thể tạo một tệp `phpinfo.php` trong thư mục gốc của trang web của bạn. Thường là `/var/www/html/`.

echo " " | sudo tee /var/www/html/phpinfo.php

Sau đó, truy cập `http://your_server_ip/phpinfo.php` từ trình duyệt của bạn. Bạn sẽ thấy trang thông tin PHP hiển thị, cho biết phiên bản PHP và các phần mở rộng đã cài đặt.

Cấu hình Web Server (Ví dụ: Nginx)

Nếu bạn đang sử dụng Nginx, bạn cần cấu hình Nginx để chuyển các yêu cầu PHP đến PHP-FPM. Mở tệp cấu hình virtual host của bạn (ví dụ: `/etc/nginx/conf.d/default.conf`) và thêm hoặc sửa đổi các dòng sau:

location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }

Sau khi thay đổi cấu hình, hãy khởi động lại Nginx:

sudo systemctl restart nginx

Lời khuyên và khắc phục sự cố

  • Đảm bảo rằng SELinux không chặn các kết nối đến PHP-FPM. Bạn có thể cần điều chỉnh các quy tắc SELinux nếu gặp sự cố.
  • Kiểm tra nhật ký PHP-FPM và nhật ký web server để tìm các thông báo lỗi nếu trang web của bạn không hoạt động đúng cách.
  • Nếu bạn gặp vấn đề với các phần mở rộng PHP, hãy thử cài đặt lại chúng hoặc kiểm tra xem chúng có tương thích với phiên bản PHP bạn đang sử dụng hay không.

Làm thế nào để kiểm tra phiên bản PHP đã cài đặt?

Bạn có thể sử dụng lệnh php -v trong terminal để xem phiên bản PHP đã cài đặt. Hoặc tạo một tệp phpinfo.php và truy cập nó qua trình duyệt.

Tại sao tôi không thể truy cập trang phpinfo.php?

Có thể do cấu hình web server (Nginx, Apache) chưa đúng, hoặc do tường lửa chặn truy cập. Kiểm tra lại cấu hình web server và đảm bảo rằng bạn đã khởi động lại dịch vụ sau khi thay đổi.

Làm thế nào để cài đặt thêm các phần mở rộng PHP?

Sử dụng lệnh sudo dnf install php-[tên_phần_mở_rộng] để cài đặt thêm các phần mở rộng PHP. Ví dụ: sudo dnf install php-curl để cài đặt phần mở rộng curl.

Làm thế nào để khởi động lại PHP-FPM?

Sử dụng lệnh sudo systemctl restart php-fpm để khởi động lại dịch vụ PHP-FPM.

Tôi nhận được lỗi "No input file specified" khi truy cập trang PHP. Phải làm sao?

Lỗi này thường xảy ra do cấu hình sai đường dẫn trong web server. Kiểm tra lại cấu hình virtual host của bạn và đảm bảo rằng đường dẫn đến tệp PHP là chính xác.