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.

3/5 - (2 votes)
70 Comments
  1. Chuong Le says

    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é.

    1. DiamondNgo says

      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

  2. Phat says

    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!

    1. DiamondNgo says

      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é

  3. Anh Tuan says

    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.

    1. DiamondNgo says

      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é

  4. Phuc says

    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 ?

    1. DiamondNgo says

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

  5. Binh Nguyen says

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

    1. DiamondNgo says

      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é

      1. Binh Nguyen says

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

        1. DiamondNgo says

          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

  6. WPFast says

    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 ạ

    1. DiamondNgo says

      Minh à :))

      1. WPFast says

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

        1. DiamondNgo says

          Sợ em luôn :))

  7. Phạm Hồng Vĩ says

    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

    1. DiamondNgo says

      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é

      1. Phạm Hồng Vĩ says

        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

        1. DiamondNgo says

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

          1. Phạm Hồng Vĩ says

            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”

          2. DiamondNgo says

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

          3. Phạm Hồng Vĩ says

            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%

          4. Phạm Hồng Vĩ says

            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

          5. DiamondNgo says

            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%

          6. Phạm Hồng Vĩ says

            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 đó

          7. Phạm Hồng Vĩ says

            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% @@

  8. Hai Minh says

    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.

    1. DiamondNgo says

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

      1. Hai Minh says

        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.

        1. DiamondNgo says

          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é

          1. Hai Minh says

            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.

          2. Tuanh says

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

  9. Đinh Xuân Trình says

    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

    1. DiamondNgo says

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

  10. Phạm Hồng Vĩ says

    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ỉ

    1. DiamondNgo says

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

  11. Trung says

    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.

    1. DiamondNgo says

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

  12. Dang Minh Duc says

    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ờ ạ?

    1. DiamondNgo says

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

      1. Dang Minh Duc says

        ---> 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)
        php(zend-abi) = 20100525-64
        Available: php-common-5.4.45-17.el7.remi.x86_64 (remi)
        php(zend-abi) = 20100525-64
        Available: php-common-5.4.45-18.el7.remi.x86_64 (remi)
        php(zend-abi) = 20100525-64
        Available: php-common-7.1.33-4.el7.remi.x86_64 (remi-php71)
        php(zend-abi) = 20160303-64
        You could try using --skip-broken to work around the problem
        You could try running: rpm -Va --nofiles --nodigest

        Giờ nó thành ra vậy bác ơi 🙁

        1. DiamondNgo says

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

      2. Dang Minh Duc says

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

  13. Nguyên Dương says

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

    1. DiamondNgo says

      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ợ

  14. trung hoa says

    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

    1. DiamondNgo says

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

  15. Lê Tuấn Vũ says

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

    1. DiamondNgo says

      Được nhé em

      1. Lê Tuấn Vũ says

        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 ạ?

        1. DiamondNgo says

          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é

          1. Lê Tuấn Vũ says

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

          2. DiamondNgo says

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

          3. Lê Tuấn Vũ says

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

          4. DiamondNgo says

            Đúng rồi em

  16. Duc Anh says

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

  17. DO DUC says

    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)

  18. DO DUC says

    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 ạ

    1. DiamondNgo says

      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é

    2. nguyen hoang says

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

      1. DiamondNgo says

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

  19. Nhật iqos says

    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

    1. DiamondNgo says

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

      1. Nhật iqos says

        Cảm ơn bác khen

  20. Xe tải tốt says

    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

    1. DiamondNgo says

      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

  21. Huy says

    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é

    1. DiamondNgo says

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

Leave A Reply

Your email address will not be published.