Nâng cấp PHP 7.4 cho HOCVPS Script

70

HocVPS Script là 1 bash script chạy trên SSH sẽ tự động cài đặt tất cả các thành phần cần thiết nhất cho VPS được phát triển bởi Luân Trần.

Tuy nhiên, nhà phát triển dường như đã bỏ rơi và không còn cập nhật các thành phần của VPS, khiến hệ thống quá cũ kỹ và chậm chạp. Mình sẽ viết một series cập nhật các thành phần của HocVPS nhé.

Hôm nay mình sẽ làm hướng dẫn giúp các bạn nâng cấp PHP lên phiên bản 7.4 nhé.

Cập nhật PHP cho HocVPS
Cập nhật PHP cho HocVPS

Tại sao nên cập nhật PHP cho HocVPS

Mặc định HocVPS Script trang bị phiên bản PHP 7.1. Đây là phiên bản lỗi thời dính nhiều lỗ hổng bảo mật đặc biệt lỗ hổng bảo mật nghiêm trọng khiến WordPress phải lên tiếng cảnh báo khuyến cáo người dùng nên cập nhật PHP lên phiên bản cao hơn.

PHP 7.4 mang đến các tính năng mới đặc biệt là Preload mang đến tốc độ load bàn thờ, nhanh hơn 70% so với phiên bản trước.

Cập nhật PHP 7.4 với HocVPS Script

Để tiến hành cập nhật PHP, bạn truy cập SSH VPS dưới quyền root. Chạy dòng lệnh sau để cài đặt yum-utils:

yum install yum-utils

Cài đặt remi repository cho VPS, lựa chọn phiên bản thích hợp với VPS của mình nhé

Centos 6

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Centos 7

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

Kích hoạt remi repository cho phiên bản php 7.4 bằng lệnh sau:

yum-config-manager --enable remi-php74

Tắt phiên bản PHP có sẵn của VPS sử dụng HocVPS. Mặc định nó chạy phiên bản php 7.1. Nếu bạn muốn kiểm tra chắc ăn hãy sử dụng câu lệnh  php -v để kiểm tra phiên bản PHP của mình

yum-config-manager --disable remi-php71

Kiểm tra lại cấu hình bằng lệnh sau:

yum repolist all

Kết quả như hình là bạn đã cấu hình thành công

Kiểm tra cấu hình PHP
Kiểm tra cấu hình PHP

Chạy lệnh sau để tiến hành cài đặt

yum update

Sau khi hệ thống chạy hoàn tất bạn có thể chạy lệnh php -v để kiểm tra phiên bản php của mình. Nếu thấy output tương tự như sau là bạn đã nâng cấp thành công VPS rồi nhé.

PHP 7.4.0RC6 (cli) (built: Nov 10 2019 23:33:27) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0-dev, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.0RC6, Copyright (c), by Zend Technologies

Khắc phục 500 khi truy cập File Manager.

Sau khi các bạn cập nhật lên PHP phiên bản cao hơn thì File Manager mặc định của HocVPS bị lỗi 500. Tiến hành làm theo các bước sau để khắc phục lỗi nhé.

Cài đặt Pear bằng lệnh

yum install php-pear

Tiếp tục cài đặt Archive_Tar

pear install Archive_Tar

Mở File Tar.php theo đường dẫn /home/domain.com/private_html/filemanager/libraries/Tar.php tìm dòng 639

 $v_att_list = & func_get_args();

Thay thế bằng

 $v_att_list = func_get_args();

Lưu lại và bây giờ bạn có thể truy cập được File Manager của HocVPS rồi nhé

Lời kết

HocVPS là một Bash Script tuyệt vời và hoàn toàn miễn phí, tuy vậy nó không còn được cập nhật khiến cho người dùng không còn được an toàn khi sử dụng nó.

Mình mong rằng bài viết trên của mình có thể giúp các bạn cập nhật được PHP theo mong muốn và nhu cầu. Rất mong được các bạn ghé thăm và ủng hộ Blog thường xuyên.

Theo dõi
Notify of
guest
70 Comments
cũ nhật
Mới nhất Đánh giá nhiều nhất
Inline Feedbacks
View all comments
Chuong Le

Cảm ơn bạn đã chia sẻ! Mong bạn tiếp tục hướng dẫn để nâng cấp các thành phần còn lại của Hoc VPS nhé.

DiamondNgo

Vâng bạn, mình sẽ cập nhật nâng cấp nginx và MariaDB ngay thôi, Follow site mình để không bỏ lỡ nhé :d

Phat

Bạn ơi, Hiện tại HocVPS mình đăng nhập bình thường nhưng filemanager thì báo lỗi Login failed. Mình đợi vài ngày (3 ngày) vào HocVPS đổi mật khẩu Filemanager thì đăng nhập cũng không được. Thử nhiều lần như thế vẫn không được
Bạn có khắc phục được tình trạng này không? Giúp mình với!
Cảm ơn bạn nhiều!

DiamondNgo

Chào bạn, Bạn dùng lệnh df để xem thử dụng lượng VPS còn trống không nhé

Anh Tuan

Bạn ơi. Có thể hướng dẫn thêm về nâng cấp mariaDB và các thành phần khác cho hocvps được không bạn 🙂
Mình đã thử nâng cấp mariadb nhưng không thành công.

DiamondNgo

Chào bạn, hiện mình chưa có thời gian viết về nâng cấp MariaDB, mình sẽ cập nhật bài viết này sớm nhất có thể. Bạn có thể subscribe để nhận thông báo khi có bài viết mới nhất nhé

Phuc

cám ơn bạn, sao lúc mình nâng xong vào filemanager khong thay nhi
/home/domain.com/private_html/filemanager/libraries/Tar.php ?

DiamondNgo

Bạn thay domain.com bằng tên miền chính của bạn khi cài đặt HocVPS nhé

Binh Nguyen

Giúp mình hạ từ 7.4 xuống 7,1 hiện tại của hocvps đi bạn

DiamondNgo

Gõ các lệnh sau
yum-config-manager --enable remi-php71
yum-config-manager --disable remi-php74
yum update

Tuy nhiên phiên bản PHP 7.2 trở về trước dính lỗi bảo mật nên mình khuyên bạn không nên nhé

Binh Nguyen

Php7.4 có nhìu plugin k hỗ trợ

DiamondNgo

Vậy bạn nên xài 7.3 nhé. Xem plugin đó có support không vì 7.3 cũng ra khá lâu rồi

WPFast

Em muốn nâng php7.3 lên 7.4 để cải thiện tốc độ xử lý và bảo mật hơn. tìm được bài hướng dẫn chi tiết của a e vui lắm. tks anh ạ

DiamondNgo

Minh à :))

WPFast

hihi, dạ em nè sếp , em luôn dõi theo anh mà 😛

DiamondNgo

Sợ em luôn :))

Phạm Hồng Vĩ

Chào mình , web của mình 1 ngày có tầm 30 phút bị full 130% cpu như này. Mình quét virus + debug cũng chả thấy lỗi gi. admin biết cách fix k ạ https://www.upsieutoc.com/image/FrrOwk

DiamondNgo

Chào bạn, Theo mình thấy PHP FPM đang bị sử dụng nhiều CPU, bạn kiểm tra kỹ code cái nào đang chiếm dụng, xem log FPM xem sao nhé

Phạm Hồng Vĩ

dạ chào admin! mình check log thì nó tận mấy chục MB, mình xóa đi nó lại lỗi ra như này tiếp! mà mình hiểu nó bị lỗi gì mà lâu lâu lại bị miết à. Sửa cả tuần k dc https://www.upsieutoc.com/image/FXqwEU

DiamondNgo

Log báo sao chứ, thường do lỗi Code nhé bạn

Phạm Hồng Vĩ

e có gửi link log php fpm trên á a, trong error log nó báo như này ạ “2020/01/10 18:06:53 [crit] 2983#2983: *242170 SSL_do_handshake() failed (SSL: error:1417D18C:SSL routines:tls_process_client_hello:version too low) while SSL handshaking, client: 184.154.139.4, server: 0.0.0.0:443”

DiamondNgo

Nó báo tls quá cũ cần nâng cấp đó bạn 🙂

Phạm Hồng Vĩ

Tls là gì vậy ad. E đang dùng php, nigx mới nhất ạ. Mà cả 2 server dạo này cứ bị lỗi trên đó ạ cpu cứ 130%

Phạm Hồng Vĩ

Vậy thì k phải rồi ad ơi! server bên kia mình dùng DA bản có phí cũng gặp tình trạng full cpu lỗi tương tự hình đầu huhu

DiamondNgo

Giờ mình mới về xem file log của bạn. Bạn tắt wp-cron đi nhé có thể bạn đang xài quá nhiều website hoặc website quá nặng. Vào thời điểm chạy Cron thì CPU lên 130%

Phạm Hồng Vĩ

ad ơi! không phải file wp-cron không đâu, có cả wp-login wp-ajax ,.. do e xóa hết log do nặng quá trước đó rồi. e nghĩ nó lỗi k tương thích php hay j đó

Phạm Hồng Vĩ

k chỉ file wp-cron mà tất cả các file php đều báo lỗi về log ad ơi, do nặng quá mình xóa rồi á!
admin-ajax.php, index.php
hơn mấy tuần rồi mà k hiểu vì sao, mỗi lần hiện pool www là cpu lên 130% @@

Hai Minh

Khi mình chạy lệnh yum repolist all thì không thấy PHP 7.4 mà chỉ thấy cao nhất trên server mình là 7.3 nên mình kích hoạt bản này. Vậy có cần thiết up lên 7.4 không bạn? Nếu cần thì có cách nào khắc phục lỗi mình đã nói không. Cảm ơn bạn trước.

DiamondNgo

Tùy theo nhu cầu nhé bạn, theo mình bạn nên update lên.

Hai Minh

Vấn đề là mình dùng tất cả các dòng lệnh trong bài rồi mà không thấy PHP 7.4 hiện ra để enable bạn ơi, không biết tại sao nữa. Mình xài Centos 6.

DiamondNgo

Bạn phải thay lệnh này
yum-config-manager –disable remi-php71
Bằng lệnh
yum-config-manager –disable remi-php73
Nhé

Hai Minh

Sau một hồi nhìn kĩ hơn thì mình nhận thấy Remi không ra PHP 7.4 cho Centos 6, hèn chi không thấy.

Tuanh

Mình cũng vây, có cách nào cài php7.4 cho centos 6 chưa bạn ?

Đinh Xuân Trình

Anh ơi. Của em đã bật được dòng lệnh 7.3 enable. Và 7.1 đã disable . Mà sao khi check lại bằng lệnh php – v vẫn là phiên bản 7.1.33

DiamondNgo

Em phải chạy lệnh yum update nữa nhé 🙂

Phạm Hồng Vĩ

Mình update xong vô domain:port/File Manager có lỗi 500 gì đâu ạ. không cần cài đoạn sau đâu nhỉ

DiamondNgo

Có mà :)), chắc do phiên bản ftp

Trung

Hehe. Phải đăng nhập để cám ơn bạn cái. Hy vọng thời gian tới bạn có thêm những bài viết như này.

DiamondNgo

Không có gì bác, hỗ trợ mọi người mà

Dang Minh Duc

Mình có thử downgrade về PHP 7.1, qua lệnh
yum-config-manager --enable remi-php71
yum-config-manager --disable remi-php74
yum update
Nhưng khi update nó báo No packages marked for update thì phải làm sao để về lại 7.1 bây giờ ạ?

DiamondNgo

Bạn chạy lệnh này nhé
yum downgrade php\*
yum update

Dang Minh Duc

---> Package php71-runtime.x86_64 0:1.0-1.el7.remi will be a downgrade ---> Package php71-runtime.x86_64 0:2.0-1.el7.remi will be erased --> Finished Dependency Resolution Error: Package: php-pecl-mcrypt-1.0.3-1.el7.remi.7.4.x86_64 (@remi-php74) Requires: php(api) = 20190902-64 Removing: php-common-7.4.3-1.el7.remi.x86_64 (@remi-php74) php(api) = 20190902-64 Downgraded By: php-common-7.1.33-5.el7.remi.x86_64 (remi-php71) php(api) = 20160303-64 Available: php-common-5.4.16-46.el7.x86_64 (base) php(api) = 20100412-64 Available: php-common-5.4.16-46.1.el7_7.x86_64 (updates) php(api) = 20100412-64 Available: php-common-5.4.45-17.el7.remi.x86_64 (remi) php(api) = 20100412-64 Available: php-common-5.4.45-18.el7.remi.x86_64 (remi) php(api) = 20100412-64 Available: php-common-7.1.33-4.el7.remi.x86_64 (remi-php71) php(api) = 20160303-64 Error: Package: php-pecl-mcrypt-1.0.3-1.el7.remi.7.4.x86_64 (@remi-php74) Requires: php(zend-abi) = 20190902-64 Removing: php-common-7.4.3-1.el7.remi.x86_64 (@remi-php74) php(zend-abi) = 20190902-64 Downgraded By: php-common-7.1.33-5.el7.remi.x86_64 (remi-php71) php(zend-abi) = 20160303-64 Available: php-common-5.4.16-46.el7.x86_64 (base) php(zend-abi) = 20100525-64 Available: php-common-5.4.16-46.1.el7_7.x86_64 (updates)… Read more »

DiamondNgo

Bạn hạ về PHP 7.1 hả ?

Dang Minh Duc

Đúng rồi bác ơi, em hạ về 7.1

Nguyên Dương

Em chờ anh hướng dẫn cài http/3 luôn 😀

DiamondNgo

Chưa nên cài http3 vào thời điểm này, rất nhiều trình duyệt chưa hỗ trợ

trung hoa

vào phpadmin nó báo lỗi đỏ lòm bác ơi
Warning in ./libraries/classes/Config/FormDisplay.php#658
“continue” targeting switch is equivalent to “break”. Did you mean to use “continue 2”?

Backtrace

./vendor/composer/ClassLoader.php#444: include()
./vendor/composer/ClassLoader.php#322: Composer\Autoload\includeFile(string

DiamondNgo

Không sao bác, cảnh báo thôi mà

Lê Tuấn Vũ

Mình đang dùng 5.6 có nâng cấp luôn lên 7 được không ad?

DiamondNgo

Được nhé em

Lê Tuấn Vũ

nginx/1.12.2, PHP 5.6, hơi cũ kỳ, các bước nâng cấp lên như thế nào ạ?

DiamondNgo

Em xem bài cập nhật nginx và cập nhật PHP là được đó em. các phiên bản của em quá lỗi thời cần cập nhật gấp nhé

Lê Tuấn Vũ

vậy e có cần nâng cấp MariaDB nữa không ad?

DiamondNgo

Nên nhé em, cần backup trước khi update nhé em

Lê Tuấn Vũ

Cho em hỏi là back up code ấy ạ?

DiamondNgo

Đúng rồi em

Duc Anh

Đến phần này em không tìm thấy private_html/filemanager/libraries/Tar.php ở đâu cả anh ạ 🙁

DO DUC

anh ơi, sau khi em nâng lên 7.4 thì vào file manager không bị lỗi gì, nhưng khi vào phpadmin thì báo lỗi ạ..
Nó báo lỗi như thế này, a giúp em với.

phpMyAdmin – Error
Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.

session_start(): open(SESSION_FILE, O_RDWR) failed: Permission denied (13)

session_start(): Failed to read session data: files (path: /var/lib/php/session)

DO DUC

em cài lên 7.4 thì vô phpadmin bị lỗi, giờ hạ xuống 7.1 không được..

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ty1.mirror.newmediaexpress.com
* epel: nrt.edge.kernel.org
* extras: ty1.mirror.newmediaexpress.com
* remi: http://ftp.riken.jp
* remi-php71: http://ftp.riken.jp
* remi-safe: http://ftp.riken.jp
* updates: ty1.mirror.newmediaexpress.com
No packages marked for update

lúc hạ cấp xuống 7.1 nó bị ra vậy, vào kiểm tra phiên bản thì vẫn 7.4, anh giúp em với ạ

DiamondNgo

Chào em, lỗi cảnh báo thôi nên em cứ dùng tự nhiên chứ không sao cả nhé

nguyen hoang

bác đã fix được lỗi phpMyAdmin – error chưa ạ?

DiamondNgo

Lỗi gì bạn chụp lên mình hướng dẫn nhé 🙂

Nhật iqos

Cảm ơn bác nha. Em cập nhật lên bị lỗi nhờ tut của bác mà sửa được

DiamondNgo

Web đẹp quá mà nên tối ưu lên nhé bác 😀

Nhật iqos

Cảm ơn bác khen

Xe tải tốt

Cảm ơn bác đã chia sẽ. Theo bác ngoài Hocvps có script nào cài wordpress của nước ngoài sử dụng cenos 8 không nhỉ ?
Đang dùng vps của vultr ạ. hehe

DiamondNgo

Chào bạn, vui lòng không cố tình đi link tại blog của mình và vui lòng đặt tên khác keyword. Cảm ơn bạn đã tham gia và ủng hộ blog

Huy

bài viết của bạn rất hay, thanks, thật có ích cho những người đang dùng hocvps
Thật buồn khi admin của hocvps bỏ rơi chính chương trình mình viết ra, để cho người dùng tự cập nhật. Thật buồn.
Cám ơn bạn nhiều nhé

DiamondNgo

Không sao bạn, có mình đây