Nếu bạn đang sử dụng HocVPS Script và muốn trải nghiệm sự mạnh mẽ của PHP 7 mới ra mắt, hãy thực hiện từng bước theo bài này để nâng cấp phiên bản PHP hiện tại lên phiên bản mới nhất nhé.

PHP 7

Trong bài viết này mình sẽ nâng cấp PHP 5.6 lên PHP 7.0.

Đầu tiên bạn hãy tải về công cụ quản lý cấu hình yum:

yum install yum-utils

Cài đặt phiên bản mới nhất của remi repository

# 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.0 hay PHP 7.1 bạn muốn cài

# PHP 7.0
yum-config-manager --enable remi-php70

# PHP 7.1
yum-config-manager --enable remi-php71

Tiếp theo kiểm tra phiên bản PHP bạn đang sử dụng với lệnh php -v. Tắt php repository tương ứng này đi vì chúng ta sử dụng PHP 7 rồi.

# PHP 5.6
yum-config-manager --disable remi-php56

# PHP 5.5
yum-config-manager --disable remi-php55

Kiểm tra lại danh sách repository một lần nữa, đảm bảo phần remi tương tự như sau là được:

yum repolist all

Danh sach repo

Cuối cùng update PHP lên phiên bản mới nhất 7.0

yum update

Vậy là xong rồi đấy, kiểm tra lại phiên bản PHP với lệnh php -v bạn sẽ thấy output tương tự như sau:

PHP 7.0.5 (cli) (built: Apr 8 2016 17:53:24) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
 with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

Chúc các bạn thành công.

Comment của bạn

Your email address will not be published. Required fields are marked *

72 Comments

  1. Huynh Minh Chi 8 comment

    Ad giúp em với, hiện tại em xài theme detube, PHP5.6 chạy bình thường nhưng nâng lên php7 là lỗi trắng trang, giờ phải làm sao để chỉnh sửa lại theme ?

    1. Việt Phương Moderator

      Lỗi trắng trang có thể là 500 Error. Bạn kiểm tra php-fpm log để xem vì sao. Thường có thể do function A từ 5.6 lên 7. đổi tên thành fuction B

        1. Việt Phương Moderator

          php-fpm log giúp bạn biết lỗi ở hàm PHP nào. Còn sửa thì bạn tự sửa thôi. Cũng như tham khảo thêm về lỗi code ý . Thường do hàm không tương thích từ PHP 5x lên PHP 7. Còn nếu bạn không biết cách sửa PHP cả theme thì downgrade về PHP 5.6

  2. Huynh Minh Chi 8 comment

    kiểm tra php-fpm log là kiểm tra sao ah ?
    function A từ 5.6 lên 7. đổi tên thành fuction B –> là sao em ko hiểu lắm. nói rõ hơn tý đc ko ah ? thanks anh !

  3. Hải 21 comment

    sau khi lên php 7 thì bị lỗi: Call to undefined function mysql_connect()
    lên mấy diễn đàn thì đọc thấy có đoạn: PHP 7 doesn’t have PHP’s mysql extension, which provided the mysql_*() functions. Any code calling those functions will need to be updated to use mysqli or PDO instead.
    Nhưng chưa biết cài thêm module nào ?

    1. Việt Phương Moderator

      Hàm mysql_connect lên PHP7 dùng mysqli_connect, ví dụ mysqli_connect('localhost', 'username', 'password', 'database');. Bạn cần cập nhật thư viện mysqli và pdo.
      Chủ yếu code của bạn vẫn dùng mysql_connect và cần sửa trong code

  4. Le Petit 1 comment

    Dear Ad
    Minh chạy lenh php – v thì báo lỗi này
    PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib64/php/module s/suhosin.so’ – /usr/lib64/php/modules/suhosin.so: undefined symbol: zend_hash_d el_key_or_index in Unknown on line 0

    Newbie nên rất mong hướng dẫn

    1. Việt Phương Moderator

      Module gốc suhosin.so có vấn đề trong quá trình nâng cấp. Bạn kiểm tra lại php.ini với thư mục module

  5. Luong Nguyen 3 comment

    Mình mới dùng VPS. Cho mình hỏi cứ để website hoạt động rồi thực hiện nâng cấp có được không?

  6. Tuan 18 comment

    Minh cần giúp đỡ gấp mình cài hocvps và cài php 7.1 giờ mình muốn chuyển xuống php 5.6 thì phải làm như thế nào chỉ mình với mình cần gấp quá… cảm ơn nhiều

  7. sinhle 43 comment

    mình đang bị lỗi 500 khu dùng Sypex Dumper để backup và khôi phục data
    ERROR: unable to bind listening socket for address ‘127.0.0.1:9000’: Address already in use (98)
    ERROR: FPM initialization failed

    Mong giúp đỡ

  8. Minh Thanh 39 comment

    Mình lỡ cài php 7.2 rồi nhưng do 1 số theme chưa hỗ trợ, giờ muốn hạ xuống 7.1 thì dùng lệnh sao vậy ad!

    1. Việt Phương Moderator

      Bạn backup site trước đó nhé. Khuyến khích bạn cài lại VPS hơn là downgrade như thế này. Bạn cần disable remi php7.2 rồi gỡ php cùng toàn bộ các package liên quan xong cài php7.1.
      Các package php liên quan thì tùy hệ thống bạn lúc cài, có thể khác với những package mình liệt kê
      # yum-config-manager --disable remi-php72
      # yum remove php-fpm php-common php-gd php-mysql php-pdo php-xml php-mbstring php-mcrypt php-curl php-opcache php-cli php-pecl-zip php-mysqlnd
      # yum-config-manager --enable remi-php71
      # yum install php-fpm php-common php-gd php-mysql php-pdo php-xml php-mbstring php-mcrypt php-curl php-opcache php-cli php-pecl-zip php-mysqlnd

      Kiểm tra php.ini nếu vẫn giữ nguyên của cấu hình PHP7.2 trước và hệ thống tạo file php.ini.rpmsave cho cấu hình 7.1 (check ngày giờ file) thì:
      mv /etc/php.ini /etc/php.ini.bk
      mv /etc/php.ini.rpmsave /etc/php.ini

      Rồi khởi động lại service php-fpm restart

      1. Việt 4 comment

        Mình có sử dụng cách này những vẫn KO thể nào trở về bản cũ được bạn ạ. Kiểm tra php -v ko ra gì cả. Bạn giúp mình với.

        1. Việt Phương Moderator

          Vậy php -V bạn ra kết quả gì? Trường hợp xấu nhất bạn cài lại VPS và restore lại website nhé. Bạn gửi website qua support@hocvps.com mình xem cho

          1. Việt 4 comment

            Nếu chỉ dùng PUTTY thì có cài lại VPS được không bạn nhỉ?

          2. Việt Phương Moderator

            Không bạn à. Putty chỉ là trình đăng nhập SSH. Reinstall VPS hầu hết thiết lập từ giao diện của nhà cung cấp VPS
            Ở đó bạn có thể restart/stop/reinstall/destroy VPS