Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

Bài viết này thực hiện (hoặc lụm bài về đăng câu like từ các trang khác) bởi Việt Lâm Coder một YOUTUBER có tâm và đẹp trai siêu cấp vô địch zũ trụ.(hoặc lụm bài về đăng câu like từ các trang khác) bởi Việt Lâm Coder một YOUTUBER có tâm và đẹp trai siêu cấp vô địch zũ trụ.

Trong nhiều trường hợp, dự án đang làm dở thì các bạn lại gặp phải vấn đề với phiên bản PHP cho XAMPP của mình. Đặc biệt khi cài Laravel bản 5.5 bạn buộc phải có PHP 7.0 trở lên, bài này mình sẽ hướng dẫn các bạn nâng cấp bản PHP cho XAMPP của mình.PHP cho XAMPP của mình. Đặc biệt khi cài Laravel bản 5.5 bạn buộc phải có PHP 7.0 trở lên, bài này mình sẽ hướng dẫn các bạn nâng cấp bản PHP cho XAMPP của mình.

Tất cả các bước thực hiện nâng cấp phiên bản PHP mình đã tóm tắt lại dưới đây. Mục đích của các bước này chính là thanh thế folder PHP trong Xampp.

1. Vào website của xampp: https://www.apachefriends.org/download.html Click vào “More Downloads”.: https://www.apachefriends.org/download.html

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

Click vào “More Downloads”.

2. Tại đây, các bạn chọn vào mục Window (dành cho hệ Window)

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

Sau đó, chọn phiên bản PHP mà bạn cần Ví dụ mình cần bản PHP 7.2

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

Ví dụ mình cần bản PHP 7.2

3. Click để down bản zip đầy đủ về:

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

4. Sau khi đã tải thành công, bạn vào thư mục chứa xampp cần nâng cấp của bạn. Ví dụ của mình là:

Tìm đến folder php. và đổi tên nó tùy chọn. Ở đây mình đổi thành php5.6.30 (tên bản cũ của mình)folder php. và đổi tên nó tùy chọn. Ở đây mình đổi thành php5.6.30 (tên bản cũ của mình)

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

5. Tiếp đến, giải nén folder php trong file zip bạn vừa tải về vào đây.

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

6. Vào folder php này. Tìm đến file php.ini

Và thay thế tất cả các chuỗi \xampp\ bằng [tên_đường_dẫn] + \xampp Ví dụ: \xampp = C:\xamp
Ví dụ: \xampp = C:\xamp

7: Tiếp theo, mở httpd-xampp.conf từ XAMPP configuration. Tiếp theo, mở httpd-xampp.conf từ XAMPP configuration.

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

Tại PHP-Module setup section, comment 2 dòng này lại, và thêm 2 dòng sau

# # PHP-Module setup # #LoadFile “D:/xampp/php/php5ts.dll” #LoadModule php5_module “D:/xampp/php/php5apache2_4.dll” LoadFile “D:/xampp/php/php7ts.dll” LoadModule php7_module “D:/xampp/php/php7apache2_4.dll”
# PHP-Module setup
#
#LoadFile “D:/xampp/php/php5ts.dll”
#LoadModule php5_module “D:/xampp/php/php5apache2_4.dll”
LoadFile “D:/xampp/php/php7ts.dll”
LoadModule php7_module “D:/xampp/php/php7apache2_4.dll”

8. Oke đến đây, các bạn chỉ cần Khởi động lại Apace của xamp và xem sự thay đổi.

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

Bài viết đến đây là kết thúc, chúc các bạn thành công với những bước trên đây.

Bài viết này thực hiện (hoặc lụm bài về đăng câu like từ các trang khác) bởi Việt Lâm Coder một YOUTUBER có tâm và đẹp trai siêu cấp vô địch zũ trụ.(hoặc lụm bài về đăng câu like từ các trang khác) bởi Việt Lâm Coder một YOUTUBER có tâm và đẹp trai siêu cấp vô địch zũ trụ.

Nếu bạn là một lập trình viên php thì chắc hẳn không còn xa lạ với XAMPP, WAMPP ... rồi nhỉ. Thế nhưng các bạn đã rơi vào trường hợp phải cấu hình nhiều version php cho mỗi dự án tương ứng chưa nhỉ. Và topic hôm nay mình sẽ trình bày các cấu hình nhiều version PHP trên XAMPP. Có khá nhiều bài hướng dẫn trên stack overflow về cách làm tuy nhiên nếu các bạn lười đọc Tiếng Anh hoặc đã thử qua nhưng vẫn chưa được thì hi vọng topic này có thể giúp các bạn giải quyết vấn đề.stack overflow về cách làm tuy nhiên nếu các bạn lười đọc Tiếng Anh hoặc đã thử qua nhưng vẫn chưa được thì hi vọng topic này có thể giúp các bạn giải quyết vấn đề.

1. Vấn đề

Vừa qua. mình có gặp trường hợp đó là 2 project đang làm cần sử dụng 2 version PHP khác nhau ( một cái cần dùng php 7.2 , một cái lại dùng php >=7.3). Tuy nhiên lúc cài XAMPP thì version php hiện tại trên máy đang mặc định là 7.2. Thế là khi chạy source yêu cầu php >=7.3 thì mình đã gặp lỗi bên dưới

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

2. Hướng giải quyết

Sau khi lùng sục cả chân trời góc bể, dạo chơi khắp stack overflow thì cuối cùng cũng tìm được câu trả lời khá chi tiết và dễ hiểu, mình xin trích dẫn câu trả lời đang đứng top sang tiếng Việt cho các bạn tiện tham khảo:

Để sử dụng nhiều phiên bản php chỉ với một phiên bản xampp duy nhất, chúng ta có hai lựa chọn:

  1. Cấu hình cho mỗi project một phiên bản php nhất định.
  2. Cấu hình từng phiên bản php trên một port riêng biệt.

Sau khi đã áp dụng cách đầu tiên thành công, mình sẽ hướng dẫn chi tiết các bước ở dưới!

3.Các bước thực hiện

Bước 1: Tải phiên bản php mà bạn muốn thêm tại php.net

  • Giải nén thư mục php vừa tải vào trong xampp, cùng cấp với thư mục php hiện có.Bởi vì dự án của mình cần version php >= 7.3 nên mình sẽ download php 8.1.8

    Lưu ý: Chỉ download phiên bản NTS (Non Thread Safe) bởi phiên bản Thread safe sẽ không có file php-cgi.exe Chỉ download phiên bản NTS (Non Thread Safe) bởi phiên bản Thread safe sẽ không có file php-cgi.exe

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

Bước 2: Cấu hình file php.ini trong thư mục php vừa tải:

  • Vào trong thư mục php vừa tải, coppy file php.ini-development và đổi tên thành php.ini

  • Mở file php.ini vừa đổi tên bằng một editor bất kỳ ( notepad, notepad++ ... )

  • Tiếp theo, hãy ấn tổ hợp phím Ctrl+F và tìm kiếm đoạn text sau:

    ScriptAlias /php6_5 "C:/xampp/php6_5/"
    Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
    
         AllowOverride None
         Options None
         Require all denied
            
                Require all granted
            
            SetEnv PHPRC "C:/xampp/php6_5/"
     
    
    0 và uncomment dòng này bằng cách xóa dấu
    ScriptAlias /php6_5 "C:/xampp/php6_5/"
    Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
    
         AllowOverride None
         Options None
         Require all denied
            
                Require all granted
            
            SetEnv PHPRC "C:/xampp/php6_5/"
     
    
    1 ở đầu dòng

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

  • Làm tương tự để uncomment cho các dòng dưới đây:
    • ScriptAlias /php6_5 "C:/xampp/php6_5/"
      Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
      
           AllowOverride None
           Options None
           Require all denied
              
                  Require all granted
              
              SetEnv PHPRC "C:/xampp/php6_5/"
       
      
      2
    • ScriptAlias /php6_5 "C:/xampp/php6_5/"
      Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
      
           AllowOverride None
           Options None
           Require all denied
              
                  Require all granted
              
              SetEnv PHPRC "C:/xampp/php6_5/"
       
      
      3
    • ScriptAlias /php6_5 "C:/xampp/php6_5/"
      Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
      
           AllowOverride None
           Options None
           Require all denied
              
                  Require all granted
              
              SetEnv PHPRC "C:/xampp/php6_5/"
       
      
      4
    • ScriptAlias /php6_5 "C:/xampp/php6_5/"
      Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
      
           AllowOverride None
           Options None
           Require all denied
              
                  Require all granted
              
              SetEnv PHPRC "C:/xampp/php6_5/"
       
      
      5
    • ScriptAlias /php6_5 "C:/xampp/php6_5/"
      Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
      
           AllowOverride None
           Options None
           Require all denied
              
                  Require all granted
              
              SetEnv PHPRC "C:/xampp/php6_5/"
       
      
      6
    • ScriptAlias /php6_5 "C:/xampp/php6_5/"
      Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
      
           AllowOverride None
           Options None
           Require all denied
              
                  Require all granted
              
              SetEnv PHPRC "C:/xampp/php6_5/"
       
      
      7

Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

Bước 3: Cấu hình apache

  • Mở file

    ScriptAlias /php6_5 "C:/xampp/php6_5/"
    Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
    
         AllowOverride None
         Options None
         Require all denied
            
                Require all granted
            
            SetEnv PHPRC "C:/xampp/php6_5/"
     
    
    8bằng một trong hai cách:

    • Cách 1: Vào thư mục xampp đã cài, mở file

      ScriptAlias /php6_5 "C:/xampp/php6_5/"
      Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
      
           AllowOverride None
           Options None
           Require all denied
              
                  Require all granted
              
              SetEnv PHPRC "C:/xampp/php6_5/"
       
      
      8 bằng đường dẫn
         
         UnsetEnv PHPRC
         
             php_flag engine off
             SetHandler application/x-httpd-php8_1-cgi
         
         
      
      0
      : Vào thư mục xampp đã cài, mở file
      ScriptAlias /php6_5 "C:/xampp/php6_5/"
      Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
      
           AllowOverride None
           Options None
           Require all denied
              
                  Require all granted
              
              SetEnv PHPRC "C:/xampp/php6_5/"
       
      
      8 bằng đường dẫn
         
         UnsetEnv PHPRC
         
             php_flag engine off
             SetHandler application/x-httpd-php8_1-cgi
         
         
      
      0

      Ví dụ: Mình lưu folder xampp tại ổ D thì đường dẫn sẽ là

         
         UnsetEnv PHPRC
         
             php_flag engine off
             SetHandler application/x-httpd-php8_1-cgi
         
         
      
      1: Mình lưu folder xampp tại ổ D thì đường dẫn sẽ là
         
         UnsetEnv PHPRC
         
             php_flag engine off
             SetHandler application/x-httpd-php8_1-cgi
         
         
      
      1

    • Cách 2: Khởi động xampp, tại màn hình quản lí hãy click vào nút config sẽ hiện ra danh sách các file, hãy ấn chọn vào file

      ScriptAlias /php6_5 "C:/xampp/php6_5/"
      Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
      
           AllowOverride None
           Options None
           Require all denied
              
                  Require all granted
              
              SetEnv PHPRC "C:/xampp/php6_5/"
       
      
      8. Xem chi tiết trong hình bên dưới: Khởi động xampp, tại màn hình quản lí hãy click vào nút config sẽ hiện ra danh sách các file, hãy ấn chọn vào file
      ScriptAlias /php6_5 "C:/xampp/php6_5/"
      Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
      
           AllowOverride None
           Options None
           Require all denied
              
                  Require all granted
              
              SetEnv PHPRC "C:/xampp/php6_5/"
       
      
      8. Xem chi tiết trong hình bên dưới

    Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

  • Tiếp theo, thêm đoạn code sau vào cuối file

    ScriptAlias /php6_5 "C:/xampp/php6_5/"
    Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
    
         AllowOverride None
         Options None
         Require all denied
            
                Require all granted
            
            SetEnv PHPRC "C:/xampp/php6_5/"
     
    
    8, sau đó thay
       
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php8_1-cgi
       
       
    
    4 và
       
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php8_1-cgi
       
       
    
    5 thành tên folder và đường dẫn đến folder
       
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php8_1-cgi
       
       
    
    6 của bạn
       
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php8_1-cgi
       
       
    
    4
       
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php8_1-cgi
       
       
    
    5
    thành tên folder và đường dẫn đến folder
       
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php8_1-cgi
       
       
    
    6
    của bạn

    ScriptAlias /php8_1 "D:/xampp/php8_1/"
    Action application/x-httpd-php8_1-cgi "/php8_1/php-cgi.exe"
    
       AllowOverride None
       Options None
       Require all denied
       
           Require all granted
       
       SetEnv PHPRC "D:/xampp/php8_1"
    
    

    Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

    Ví dụ: Nếu tên thư mục

       
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php8_1-cgi
       
       
    
    6 của bạn là
       
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php8_1-cgi
       
       
    
    8 và đường dẫn thư mục là
       
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php8_1-cgi
       
       
    
    9 thì đoạn code sẽ là:
    Nếu tên thư mục
       
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php8_1-cgi
       
       
    
    6
    của bạn là
       
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php8_1-cgi
       
       
    
    8
    và đường dẫn thư mục là
       
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php8_1-cgi
       
       
    
    9
    thì đoạn code sẽ là:

    ScriptAlias /php6_5 "C:/xampp/php6_5/"
    Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
    
         AllowOverride None
         Options None
         Require all denied
            
                Require all granted
            
            SetEnv PHPRC "C:/xampp/php6_5/"
     
    
    • Bạn có thể cấu hình nhiều version khác không giới hạn bằng cách lặp lại bước 1 đến bước 3bước 1 đến bước 3

Bước 4: Cấu hình project để chạy với

   
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php6_5-cgi
       
   
0 tương ứng Cấu hình project để chạy với
   
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php6_5-cgi
       
   
0 tương ứng

  • Thêm đoạn code sau vào cuối file

    ScriptAlias /php6_5 "C:/xampp/php6_5/"
    Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
    
         AllowOverride None
         Options None
         Require all denied
            
                Require all granted
            
            SetEnv PHPRC "C:/xampp/php6_5/"
     
    
    8, sau đó thay
       
           UnsetEnv PHPRC
           
               php_flag engine off
               SetHandler application/x-httpd-php6_5-cgi
           
       
    
    2 và
       
           UnsetEnv PHPRC
           
               php_flag engine off
               SetHandler application/x-httpd-php6_5-cgi
           
       
    
    3 thành đường dẫn đến project của bạn. Xem hình bên dưới để nắm rõ hơn
       
           UnsetEnv PHPRC
           
               php_flag engine off
               SetHandler application/x-httpd-php6_5-cgi
           
       
    
    2
       
           UnsetEnv PHPRC
           
               php_flag engine off
               SetHandler application/x-httpd-php6_5-cgi
           
       
    
    3
    thành đường dẫn đến project của bạn. Xem hình bên dưới để nắm rõ hơn

       
       UnsetEnv PHPRC
       
           php_flag engine off
           SetHandler application/x-httpd-php8_1-cgi
       
       
    

    Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

    Ví dụ: Nếu project của bạn nằm trong thư mục

       
           UnsetEnv PHPRC
           
               php_flag engine off
               SetHandler application/x-httpd-php6_5-cgi
           
       
    
    4 thì đoạn code sẽ như sau: Nếu project của bạn nằm trong thư mục
       
           UnsetEnv PHPRC
           
               php_flag engine off
               SetHandler application/x-httpd-php6_5-cgi
           
       
    
    4
    thì đoạn code sẽ như sau:

       
           UnsetEnv PHPRC
           
               php_flag engine off
               SetHandler application/x-httpd-php6_5-cgi
           
       
    
  • Cuối cùng, khởi động lại xampp và tận hưởng thành quả.

    Hướng dẫn change php version xampp - thay đổi phiên bản php xampp
    Hướng dẫn change php version xampp - thay đổi phiên bản php xampp

4. Một số lưu ý

  • Mình sẽ liệt kê một số lỗi đã gặp trong quá trình cấu hình để các bạn tham khảo và tránh:
    • Lỗi
         
             UnsetEnv PHPRC
             
                 php_flag engine off
                 SetHandler application/x-httpd-php6_5-cgi
             
         
      
      5 : Lỗi này là do đường dẫn thư mục bị sai. Lúc trước, khi sử dụng wampserver mình có lầm tưởng rằng, khi cấu hình virtualhost thì đường dẫn trỏ đến project nằm ở đâu cũng được. Tuy nhiên, với xampp thì bắt buộc project phải nằm trong thư mục xampp/htdocs.
         
             UnsetEnv PHPRC
             
                 php_flag engine off
                 SetHandler application/x-httpd-php6_5-cgi
             
         
      
      5
      : Lỗi này là do đường dẫn thư mục bị sai. Lúc trước, khi sử dụng wampserver mình có lầm tưởng rằng, khi cấu hình virtualhost thì đường dẫn trỏ đến project nằm ở đâu cũng được. Tuy nhiên, với xampp thì bắt buộc project phải nằm trong thư mục xampp/htdocs.

Nên nhớ, tất cả các project khi chạy xampp cần được bỏ vào trong thư mục xampp/htdocs

Nếu không chỉ định project chạy với version php nào thì mặc định version php trong biến môi trường (Enviroment Variable) sẽ được chọn

5. Nguồn tham khảo

  • https://stackoverflow.com/questions/45790160/is-there-way-to-use-two-php-versions-in-xampp
  • https://www.youtube.com/watch?v=o-NeHuaaELI