Hướng dẫn check apache php version - kiểm tra phiên bản php apache

Như các bạn biết, việc cài đặt server apache thì trong cùng 1 server chỉ sử dụng được 1 phiên bản của PHP. Nếu như bạn dùng PHP5 thì sẽ không chạy được PHP 7 hoặc ngược lại.

Việc trên gây ra khá nhiều bất tiện trong quá trình phát triển phần mềm, nhất là với việc chuyển đổi (migrate) từ một hệ thống cũ (chạy PHP 5) lên hệ thống mới với phiên bản PHP cao hơn (PHP 7). Nó gây ra cho bạn khá nhiều bất tiện, mỗi khi bạn muốn chuyển đổi về hệ thống cũ để kiểm tra chức năng (function) với hệ thống mới bạn sẽ phải cài đặt lại module PHP cho Apache. Rất rất mất thời gian cho quá trình đó.

Do vậy nay tôi sẽ hướng dẫn bạn cài đặt một server Apache có thể chạy đồng thời nhiều phiên bản PHP khác nhau(PHP 5.4, 5.5, PHP 7....).

Môi trường tôi sử dụng là

$ sudo apachectl start
1,
$ sudo apachectl start
2,
$ sudo apachectl start
3. Với môi trường Linux thì cũng có thể cài đặt tương tự như trên Mac OS X.

Để cho tiện cho việc cài đặt các module, tôi sử dụng

$ sudo apachectl start
4 (dành riêng cho Mac OS X, trên Ubuntu hoặc các phiên bản khác đã có sẵn package manager như
$ sudo apachectl start
5,
$ sudo apachectl start
6 ...)

1. Cách cài đặt HomeBrew (với linux thì bạn bỏ qua bước này)

Bạn có thể tải cài đặt

$ sudo apachectl start
4 tại http://brew.sh

Với MacOS thì bạn cần phải cài

$ sudo apachectl start
8 và
$ sudo apachectl start
9. Sau khi cài đặt XCode bạn cần phải mở XCode và chấp nhận
$ sudo apachectl stop
0 sau đó cài đặt
$ sudo apachectl start
9 bằng câu lệnh:

xcode-select --install

Để cài HomeBrew, bật Terminal và sử dụng câu lệnh:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Sau khi câu lệnh được thực thi bạn đã cài đặt thành công

$ sudo apachectl start
4

2. Cài đặt Apache

Trên Mac OS X thì Apache đã được cài sẵn. Việc của chúng ta là bật lên và sử dụng

Hướng dẫn check apache php version - kiểm tra phiên bản php apache

Khởi động Apache trong Mac OS X bằng cách sử dụng câu lệnh:

$ sudo apachectl start

Nếu bạn muốn dừng Apache thì sử dụng lệnh:

$ sudo apachectl stop

Để restart Apache thì sử dụng lệnh

$ sudo apachectl -k restart

Còn với các bạn sử dụng Linux thì tham khảo cách cài đặt Apache tại: https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu

hoặc sử dụng câu lệnh cho Ubuntu như:

sudo apt-get update
sudo apt-get install apache2

2.1 Cấu hình Apache

Để có thể sử dụng multi-version PHP thì bạn cần bật một số extension cho Apache như:

  • mod_rewrite
  • mod_alias
  • mod_vhost_alias
  • mod_fcgid (Hướng dẫn cài đặt ở phần sau)(Hướng dẫn cài đặt ở phần sau)

Để bật các extension cho Apache bạn làm theo cách sau:

  • Mở và sửa file
    $ sudo apachectl stop
    
    3 với quyền
    $ sudo apachectl stop
    
    4.
  • Tìm đến module cần bật ví dụ
...
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so
...
  • Xóa
    $ sudo apachectl stop
    
    5 để kích hoạt extension
  • Khởi động lại Apache

Với module vhost bạn có thể tham khảo thêm tại:

https://coolestguidesontheplanet.com/how-to-set-up-virtual-hosts-in-apache-on-mac-osx-10-11-el-capitan/

3. Cài đặt PHP

Để có thể sử dụng nhiều phiên bản PHP trên cùng 1 server Apache đồng nghĩa với việc bạn phải cài nhiều phiên bản PHP. Để cài php trên MacOSX khá dễ dàng với

$ sudo apachectl start
4 (Trên Linux Ubuntu cũng rất dễ với
$ sudo apachectl start
5 )

Cách cài như sau:

  • Bật Terminal
  • Sử dụng lệnh sau để cài PHP:
$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/homebrew-php
$ brew install php54
$ brew unlink php54
$ brew install php55
$ brew unlink php55
$ brew install php56
$ brew unlink php56
$ brew install php70

Sau khi dùng các lệnh trên bạn đã có trong tay

$ sudo apachectl stop
8.

Và bạn cũng sẽ có các file cấu hình

$ sudo apachectl stop
9 tương ứng cho từng version PHP tại:

/usr/local/etc/php/5.4/php.ini
/usr/local/etc/php/5.5/php.ini
/usr/local/etc/php/5.6/php.ini
/usr/local/etc/php/7.0/php.ini

Và bạn cũng sẽ có các folder chứa PHP tương ứng như sau:

/usr/local/Cellar/php54/...
/usr/local/Cellar/php55/...
/usr/local/Cellar/php56/...
/usr/local/Cellar/php70/...

Với Linux cách cài đặt và đường dẫn sẽ khác 1 chút.

4. Cài đặt Apache để chạy đa phiên bản PHP

4.1 Cài đặt mod_fcgid

Bạn cài đặt bằng cách sử dụng lệnh sau:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
0

Sau khi cài đặt thành công bạn sẽ có

$ sudo apachectl -k restart
0 tại thư mục
$ sudo apachectl -k restart
1

4.2 Kích hoạt mod_fcgid trong Apache

Để kích hoạt

$ sudo apachectl -k restart
0 bạn làm theo các bước sau:

  • Mở file
    $ sudo apachectl stop
    
    3
  • Thêm các dòng sau vào cuối file:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
1
  • Khởi động lại Apache

Với module vhost bạn có thể tham khảo thêm tại:

3. Cài đặt PHP

Để có thể sử dụng nhiều phiên bản PHP trên cùng 1 server Apache đồng nghĩa với việc bạn phải cài nhiều phiên bản PHP. Để cài php trên MacOSX khá dễ dàng với

$ sudo apachectl start
4 (Trên Linux Ubuntu cũng rất dễ với
$ sudo apachectl start
5 )

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2

Cách cài như sau:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
3

Bật Terminal

Sử dụng lệnh sau để cài PHP:

Sau khi dùng các lệnh trên bạn đã có trong tay

$ sudo apachectl stop
8.

  • Và bạn cũng sẽ có các file cấu hình
    $ sudo apachectl stop
    
    9 tương ứng cho từng version PHP tại:
  • Và bạn cũng sẽ có các folder chứa PHP tương ứng như sau:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
4
  • Với Linux cách cài đặt và đường dẫn sẽ khác 1 chút.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
5

4. Cài đặt Apache để chạy đa phiên bản PHP

4.1 Cài đặt mod_fcgid

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
6

Bạn cài đặt bằng cách sử dụng lệnh sau:

Sau khi cài đặt thành công bạn sẽ có

$ sudo apachectl -k restart
0 tại thư mục
$ sudo apachectl -k restart
1

4.2 Kích hoạt mod_fcgid trong Apache

  • Để kích hoạt
    $ sudo apachectl -k restart
    
    0 bạn làm theo các bước sau:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
7
  • Mở file
    $ sudo apachectl stop
    
    3
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
8
  • Thêm các dòng sau vào cuối file:

Kết quả bạn nhận được như sau:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
9

Vậy là hoàn thành việc cài đặt php theo từng project (

$ sudo apachectl -k restart
8) Để thay đổi phiên bản khác bạn chỉ cần đổi tên laucher
sudo apt-get update
sudo apt-get install apache2
6 thành
sudo apt-get update
sudo apt-get install apache2
7

Để hệ thống tự nhận file

sudo apt-get update
sudo apt-get install apache2
8 bạn cần phải thêm
sudo apt-get update
sudo apt-get install apache2
8 vào sau
...
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so
...
0 trong file
...
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so
...
1 của Apache như sau:

$ sudo apachectl start
0

Sau khi thực hiện các bước trên bạn đã có 1 server Apache chạy đa phiên bản PHP.

Thanks for reading!