Hướng Dẫn Cài đặt Và Cấu Hình để Dùng Nhiều Version PHP - TopDev

Bài viết được sự cho phép của tác giả Lê Chí Dũng

Để cài đặt nhiều version php cho nhiều project website, dùng yum-config-manager để cài đặt multiple versions of PHP. Và lưu ý bài viết này dành cho những người có kiến thức cơ bản về Nginx và PHP.

1. Cài đặt và cấu hình các version PHP

1.1 Cài đặt PHP 7.1 Version

# yum-config-manager --enable remi-php71 [Default] # yum install php php-common php-fpm # yum install php-mysql php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo Copy

1.2 Cài đặt PHP 5.6 Version

# yum install php56 php56-php-common php56-php-fpm # yum install php56-php-mysql php56-php-pecl-memcache php56-php-pecl-memcached php56-php-gd php56-php-mbstring php56-php-mcrypt php56-php-xml php56-php-pecl-apc php56-php-cli php56-php-pear php56-php-pdo Copy

Kiểm tra version PHP mặc định.

# php -v Copy

1.3 Cấu hình PHP-FPM và PHP56-PHP-FPM

Đây là phần cấu hình php-fpm sẽ hoạt động tương thích với Nginx. Cần thiết lập user/group của FastCGI khi hoạt động trên Nginx sẽ listen đúng port.

php-fpm (default 7.1): /etc/php-fpm.d/www.conf

php56-php-fpm: /opt/remi/php56/root/etc/php-fpm.d/www.conf

Mở file config đề thiết lập user/group của FastCGI.

# vi /etc/php-fpm.d/www.conf [PHP 7.1] # vi /opt/remi/php56/root/etc/php-fpm.d/www.conf [PHP 5.6] Copy

Cập nhật thông tin user/group

user = nginx group = nginx Copy

Kế tiếp, cập nhật thiết lập address:port cho FastCGI listen các request sẽ nhận.

listen = 127.0.0.1:9000 [php-fpm] listen = 127.0.0.1:9001 [php56-php-fpm] Copy Ứng tuyển ngay các vị trí PHP tuyển dụng mới nhất trên TopDev

2. Thiết lập Nginx dùng PHP-FPM tương ứng

2.1 Khởi chạy services

---------------- NGINX ---------------- # systemctl enable nginx # systemctl start nginx ---------------- PHP 7.1 ---------------- # systemctl enable php-fpm # systemctl start php-fpm ---------------- PHP 5.6 ---------------- # systemctl enable php56-fpm # systemctl start php56-php-fpm Copy

Nếu trường hợp bị lỗi xãy ra thì gõ lệnh sau:

# getenforce # setenforce 0 Copy

2.2 Thiết lập đường dẫn cho website

Tạo các folder web để chạy các version PHP khác nhau trong /var/www/html/.

---------------- Website 1 ---------------- # mkdir -p /var/www/html/example1.com/ # mkdir -p /var/www/html/example2.com/ ---------------- Website 2 ---------------- # mkdir -p /var/log/nginx/example1.com/ # mkdir -p /var/log/nginx/example2.com/ Copy

2.3 Thiết lập permission

---------------- Website 1 ---------------- # chown -R root:nginx /var/www/html/example1.com/ # chmod -R 755 /var/www/html/example1.com/ # chown -R root:nginx /var/log/nginx/example1.com/ # chmod -R 660 /var/log/nginx/example1.com/ ---------------- Website 2 ---------------- # chown -R root:nginx /var/www/html/example2.com/ # chmod -R 755 /var/www/html/example2.com/ # chown -R root:nginx /var/log/nginx/example2.com/ # chmod -R 660 /var/log/nginx/example2.com/ Copy 10 điều bạn cần biết về PHP7 10 Frameworks tốt nhất hiện nay cho PHP

2.4 Config Nginx Server cho  các Website

Tạo các config Nginx cho các website tại /etc/nginx/conf.d/.

# vi /etc/nginx/conf.d/example1.com.conf # vi /etc/nginx/conf.d/example2.com.conf Copy

Website 1 cấu hình cho example1.com

server { listen 80; server_name example1.com www.example1.com; root /var/www/html/example1.com/; index index.php index.html index.htm; #charset koi8-r; access_log /var/log/nginx/example1.com/example1_access_log; error_log /var/log/nginx/example1.com/example1_error_log error; location / { try_files $uri $uri/ /index.php?$query_string; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ .php$ { root /var/www/html/example1.com/; fastcgi_pass 127.0.0.1:9000; #set port for php-fpm to listen on fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include /etc/nginx/fastcgi_params; } } Copy

Website 2 cấu hình cho example2.com

server { listen 80; server_name example2.com www.example2.com; root /var/www/html/example2.com/; index index.php index.html index.htm; #charset koi8-r; access_log /var/log/nginx/example2.com/example2_access_log; error_log /var/log/nginx/example2.com/example2_error_log error; location / { try_files $uri $uri/ /index.php?$query_string; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ .php$ { root /var/www/html/example2.com/; fastcgi_pass 127.0.0.1:9001; #set port for php56-php-fpm to listen on fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include /etc/nginx/fastcgi_params; } } Copy

Kế tiếp tạo các nội dung chứa phpinfo() để xem các version PHP của các website.

# echo "" > /var/www/html/example1.com/info.php # echo "" > /var/www/html/example2.com/info.php Copy

Để apply các cấu hình thì phải restart lại các services.

# nginx -t # systemctl restart nginx php-fpm php56-php-fpm Verify Nginx Configuration Verify Nginx Configuration Copy

Nếu chạy dưới local thì nhớ cấu hình /etc/hosts.

Cuối cùng truy cập vào domain các trang đã setup trong config nginx để xem thành quả.

Bài viết gốc được đăng tải tại lcdung.top

Có thể bạn quan tâm:

  • Hướng dẫn chạy nhiều Node version khác nhau trên Windows
  • Hướng dẫn cấu hình Xdebug bằng PHPStorm cho Docker
  • TensorFlow là gì? Tìm hiểu về TensoFlow từ A đến Z

Xem thêm Việc làm php đà nẵng, hcm, hà nội hấp dẫn trên TopDev

Từ khóa » Cài đật Php