Hướng dẫn does macos have php? - macos có php không?

Thực sự thì việc phát triển web trên môi trường Mac OS X khá là tuyệt vời. Việc setup môi trường để phát triển PHP có khá nhiều lựa chọn, trong đó có thể kể đến 1 phần mềm khá là thông dụng - MAMP Pro. MAMP Pro cung cấp một giao diện thân thiện cho việc quản lý Apache, PHP và MySQL. Tuy nhiên, việc tuỳ biến sẽ trở lên khó khăn hơn do MAMP Pro sử dụng những configuration template riêng. Và đôi khi, MAMP Pro còn bị chậm mà không rõ nguyên nhân !!!Apache, PHPMySQL. Tuy nhiên, việc tuỳ biến sẽ trở lên khó khăn hơn do MAMP Pro sử dụng những configuration template riêng. Và đôi khi, MAMP Pro còn bị chậm mà không rõ nguyên nhân !!!

Đó là lý do mà chúng ta sẽ thực hiện theo cách khác, cài đặt và thiết lập mọi thứ qua terminal. Thực sự thì việc sử dụng mọi thứ qua terminal khá là thú vị. Nó có thể hơi khó 1 chút đối với người mới (do type nhiều) nhưng khi đã làm quen rồi thì rất thích thú (vẫn là do được type nhiều)

Apache

OSX 10.10 Yosemite được cài đặt sẵn Apache 2.4. Để khởi động web server, các bạn chỉ việc mở Terminal (/Applications/Utilities/Terminal) và gõ: được cài đặt sẵn Apache 2.4. Để khởi động web server, các bạn chỉ việc mở Terminal (/Applications/Utilities/Terminal) và gõ:

 sudo apachectl start

Quá dễ đoán đối với việc stop và restart đúng không?

sudo apachectl stop
sudo apachectl restart

OK rồi, hãy start apache ngay đi và mở trình duyệt lên và gõ thử localhost xem có hiện ra It works! hay không nào.It works! hay không nào.

sudo apachectl restart
6: Nếu bạn không thể truy cập được http://localhost thì bạn sẽ cần thêm alias vào file
sudo apachectl restart
7:
sudo apachectl restart
8. Mặc định thì nó đã có sẵn.

Document Root

Điều đầu tiên chúng ta muốn làm sẽ là thay đổi Document Root cho Apache. Đây là folder mà Apache sẽ tìm kiếm file để phục vụ. Mặc định thì Document Root được thiết lập ở

sudo apachectl restart
9. Thiết lập này thường được dùng cho các máy có nhu cầu làm máy chủ (web server). Chúng ta sẽ thay đổi nó về thư mục home - thư mục user của bạn. Để thực hiện điều này, chúng ta cần thay đổi file
sudo vi /etc/apache2/httpd.conf
0. Do đây là file được sở hữu bởi
sudo vi /etc/apache2/httpd.conf
1 nên bạn sẽ cần thêm
sudo vi /etc/apache2/httpd.conf
2 để có thể thay đổi được file. Ở đây mình dùng vim, bạn có thể dùng các editor khác như sublime text hay nano nếu thích.Document Root cho Apache. Đây là folder mà Apache sẽ tìm kiếm file để phục vụ. Mặc định thì Document Root được thiết lập ở
sudo apachectl restart
9. Thiết lập này thường được dùng cho các máy có nhu cầu làm máy chủ (web server). Chúng ta sẽ thay đổi nó về thư mục home - thư mục user của bạn. Để thực hiện điều này, chúng ta cần thay đổi file
sudo vi /etc/apache2/httpd.conf
0. Do đây là file được sở hữu bởi
sudo vi /etc/apache2/httpd.conf
1 nên bạn sẽ cần thêm
sudo vi /etc/apache2/httpd.conf
2 để có thể thay đổi được file. Ở đây mình dùng vim, bạn có thể dùng các editor khác như sublime text hay nano nếu thích.

sudo vi /etc/apache2/httpd.conf

Hướng dẫn does macos have php? - macos có php không?

Tìm từ

sudo vi /etc/apache2/httpd.conf
3, bạn sẽ thấy dòng sau:

DocumentRoot "/Library/WebServer/Documents"

Thay đổi đường dẫn thành folder dưới user của bạn. Ở đây tôi dùng thư mục

sudo vi /etc/apache2/httpd.conf
4

DocumentRoot "/Users/your_user/Sites"

Bạn cũng cần thay đổi đường dẫn ở trong thẻ

sudo vi /etc/apache2/httpd.conf
5


Ở ngay trong block của

sudo vi /etc/apache2/httpd.conf
5 bạn sẽ thấy
sudo vi /etc/apache2/httpd.conf
7, hãy thay đổi nó thành như sau:

AllowOverride All

Hướng dẫn does macos have php? - macos có php không?

User & Group

Bây giờ Apache đã được thiết lập để trỏ tới thư mục

sudo vi /etc/apache2/httpd.conf
4 trong thư mục home của bạn. Tuy nhiên chúng ta vẫn có một vấn đề, đó là mặc định apache sẽ chạy dưới user
sudo vi /etc/apache2/httpd.conf
9 và group
sudo vi /etc/apache2/httpd.conf
9. Điều này sẽ dẫn tới các vấn đề liên quan tới permisssion khi truy cập các file trong thư mục home. Chúng ta sẽ cần thay đổi chúng thành user mà bạn đang dùng và group
DocumentRoot "/Library/WebServer/Documents"
1. Vẫn ở trong file
DocumentRoot "/Library/WebServer/Documents"
2, bạn tìm 2 thiết lập
DocumentRoot "/Library/WebServer/Documents"
3 và
DocumentRoot "/Library/WebServer/Documents"
4 và thay đổi chúng:

User your_user
Group staff

Đến đây chúng ta có thể save lại file

DocumentRoot "/Library/WebServer/Documents"
2. Nếu bạn vẫn dùng vim thì type
DocumentRoot "/Library/WebServer/Documents"
6 và entersave lại file
DocumentRoot "/Library/WebServer/Documents"
2. Nếu bạn vẫn dùng vim thì type
DocumentRoot "/Library/WebServer/Documents"
6 và enter

Tạo thư mục Sites

Sau khi chỉnh sửa file

DocumentRoot "/Library/WebServer/Documents"
2 thì tất nhiên bạn sẽ cần restart lại apache để cập nhật các thiết lập mới:

sudo apachectl restart

Bây giờ bạn cần tạo thư mục

sudo vi /etc/apache2/httpd.conf
4 ở trong thư mục home (your_user) của bạn. Ở trong thư mục
sudo vi /etc/apache2/httpd.conf
4, chúng ta sẽ tạo thêm 1 file
DocumentRoot "/Users/your_user/Sites"
0 với nội dung đơn giản:
DocumentRoot "/Users/your_user/Sites"
1. Bạn có thể làm việc này bằng Terminal hay Finder tuỳ bạn, ở đây tôi dùng terminal luôn:

sudo apachectl stop
0

Bây giờ hãy mở

DocumentRoot "/Users/your_user/Sites"
2 bằng trình duyệt để kiểm tra xem nội dung chúng ta vừa viết có hiện ra không nhé. Nếu và nó nên hiện ra nội dung như thế, chúng ta có thể đến bước tiếp theo

Homebrew

Việc cài đặt và cả quá trình sử dụng của chúng ta sẽ phụ thuộc rất nhiều vào một package manager trên OS X được gọi là Homebrew. Để cài đặt được Homebrew thì Xcode 6.1 (hoặc hơn) và Command Line Tools là yêu cầu bắt buộc. Hãy chắc chắn rằng bạn cài đặt Xcode trước. Sau khi cài đặt thành công, mở Xcode, đồng ý với Terms and Conditions, sau đó cài đặt Command Line Tools bằng câu lệnh sau:Homebrew. Để cài đặt được Homebrew thì Xcode 6.1 (hoặc hơn) và Command Line Tools là yêu cầu bắt buộc. Hãy chắc chắn rằng bạn cài đặt Xcode trước. Sau khi cài đặt thành công, mở Xcode, đồng ý với Terms and Conditions, sau đó cài đặt Command Line Tools bằng câu lệnh sau:

sudo apachectl stop
1

Installation

Cài đặt Homebrew bằng câu lệnh sau:

sudo apachectl stop
2

Hãy nhập password khi được yêu cầu. Quá trình này có thể sẽ mất vài phút. Sau khi hoàn thành, bạn có thẻ kiểm tra việc cài đặt brew có thực sự hoàn tất hay không bằng câu lệnh:

sudo apachectl stop
3

Verificaton

Để chắc chắn rằng mọi thứ ổn và được update mới nhất, hãy chạy 2 lệnh sau:

sudo apachectl stop
4

Install PHP 5.4, 5.5, 5.6

Việc cài đặt các phiên bản PHP khi đã có brew khá là đơn giản. Hãy chạy các câu lệnh sau để cài đặt PHP 5.4, 5.5 và 5.6

sudo apachectl stop
5

Quá trình này sẽ mất thời gian một chút. Sau khi hoàn thành, nếu bạn muốn thay đổi một số thiét lập cho mỗi bản php thì có thể tìm file

DocumentRoot "/Users/your_user/Sites"
3 của mỗi version trong các đường dẫn sau:

sudo apachectl stop
6

Thiết lập Apache

Bạn đã cài đặt nhièu phiên bản php, nhưng chúng ta cần phải thiết lập Apache để sử dụng chúng. Để làm được điều này, chúng ta sẽ lại phải thay đổi file

sudo vi /etc/apache2/httpd.conf
0. Hãy tìm
DocumentRoot "/Users/your_user/Sites"
5 và thêm vào bên dưới:

sudo apachectl stop
7

Ở đây chúng ta thiết lập để apache sử dụng php 5.4. Chúng ta sẽ thêm việc chuyển đổi phiên bản php sau. Bạn cũng nên bỏ comment module

DocumentRoot "/Users/your_user/Sites"
6

sudo apachectl stop
8

Lưu lại thay đổi và restart Apache:

sudo apachectl restart

Validating PHP Installation

Cách tốt nhất để kiểm tra php version cũng như các module mà apache đang sử dụng là tạo 1 file

DocumentRoot "/Users/your_user/Sites"
7 ở thư mục
sudo vi /etc/apache2/httpd.conf
4 sử dụng hàm
DocumentRoot "/Users/your_user/Sites"
9:

sudo apachectl restart
0

Mở địa chỉ


0 trên trình duyệt để thấy các thông tin về phiên bản php đang dùng.
Hướng dẫn does macos have php? - macos có php không?

PHP Switcher Script

Ở phần trên chúng ta đã hard-coded Apache để sử dụng PHP 5.4. Nhưng mục đích của chúng ta là có thể chuyển đổi các phiên bản PHP. Bây giờ chúng ta sẽ thực hiện việc đó qua PHP switcher scriptPHP 5.4. Nhưng mục đích của chúng ta là có thể chuyển đổi các phiên bản PHP. Bây giờ chúng ta sẽ thực hiện việc đó qua PHP switcher script

Sẽ hữu ích hơn nếu bạn thiết lập 1 thư mục


1 ở trong thư mục home và setup srcipt trong đó:

sudo apachectl restart
1

Cập nhật PATH

Để thuận tiện hơn cho việc tìm thấy script khi đang sử dụng terminal, chúng ta sẽ cần cập nhật PATH bằng cách thêm


2 và

3,

4 (của Homebrew). Phụ thuộc vào shell bạn dùng mà bạn sẽ cần thêm dòng sau vào file

5,

6 hoặc

7

sudo apachectl restart
2

sudo apachectl restart
6: Thay your_user bằng user thực sự.your_user bằng user thực sự.

Hãy tắt tất cả tab và cửa sổ terminal đi và mở lại để cập nhật. Có thể kiểm tra lại PATH bằng lệnh


9

Thiết lập Apache sử dụng PHP Switcher

Chúng ta sẽ lại phải cập nhật file

sudo vi /etc/apache2/httpd.conf
0. Tìm
AllowOverride All
1 bạn đã thêm vào trước đó. Thay dòng
AllowOverride All
2 thành:

sudo apachectl restart
3

Để thay đổi phiên bản PHP sử dụng sang 5.5 chúng ta sẽ sử dụng lệnh:

sudo apachectl restart
4

Và restart apache để các thay đổi có hiệu lực

sudo apachectl restart

Như vậy, khi bạn muốn thay đổi phiên bản php để sử dụng, chỉ cần dùng

AllowOverride All
3 và restart lại apache. Hi vọng bài viết này sẽ giúp cho việc lập trình php trên môi trường OS X của bạn dễ dàng hơn

Nguồn tham khảo: Grav