Hướng dẫn application for php programming - ứng dụng cho lập trình php
Trong macOS phiên bản mới (như 10.11, 10.12, 10.13 ...) có cài sẵn mặc định Webserver Apache HTTP và PHP, tuy nhiên để dễ tuỳ biến trong phần này sẽ huỷ sử dụng cài đặt mặc định đó để sử dụng phiên bản Apache, PHP, MySQL tuỳ chọn. Show Do sử dụng brew để cài đặt, nên đảm bảo cài đặt công cụ này trước: Sử dụng Homebrew (brew) Các file cấu hình cho Apache, PHP, MySQL sử dụng Visusal Studio Code để soạn thảo, nên cũng cần cài VS Code trước: Cài đặt Visual Studio Code Đầu tiên cần đảm báo có Command Line Tools xcode-select --installCó một số thư viện có thể cần bổ sung, chạy lệnh sau để cài đặt: # brew install openldap libiconv brew install openldap libiconvTrước tiên cần huỷ đi việc sử dụng Apache cài đặt mặc định nếu đang kích hoạt: # sudo apachectl stop # sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null sudo apachectl stop # sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/nullTiến hành cài đặt Apache bằng lệnh: # brew install httpd brew install httpdCấu hình để Apache tự động chạy khi khởi động hệ thống: # sudo brew services start httpd sudo brew services start httpdMặc định Webserver Apache HTTP cài theo cách trên nó làm việc trên cổng 8080, nên có thể truy cập địa chỉ http://localhost:8080, kết quả như sau chứng tỏ Apache đã cài thành công Khi làm việc với Apache một số lệnh có thể dùng tới như: #Khởi động Apache# sudo apachectl start #Khởi động lại Apache# sudo apachectl restart #Dừng Apache# sudo apachectl stop # sudo apachectl start #Khởi động lại Apache # sudo apachectl restart #Dừng Apache # sudo apachectl stopThông tin cấu hình chỉnh của Apache lưu trong file /usr/local/etc/httpd/httpd.conf, để soạn thảo - thay đổi cấu hình gõ lệnh #Khởi động Apache# code /usr/local/etc/httpd/httpd.conf # code /usr/local/etc/httpd/httpd.confThay đổi một số cấu hình ApacheĐổi cổng HTTPD Thay đổi cổng 8080 thành cổng 80, tìm đến: Thay đổi cổng 8080 thành cổng 80, tìm đến: Listen 8080Thay bằng: Đổi ServerName tìm đến: tìm đến: #ServerName www.example.com:8080Thay bằng: Listen 80Đổi ServerName tìm đến:, ví dụ muốn đổi vai trò chạy là của user admin tìm đến: #ServerName www.example.com:8080Thay bằng: Listen 80Đổi ServerName tìm đến:, để hỗ trợ viết lại URL và .htaccess: #ServerName www.example.com:8080Thay bằng: Listen 80Đổi ServerName tìm đến: ví dụ webiste lưu tại /Users/admin/Documents/testweb/, và cấu hình để chạy trên domain ảo testweb.com #ServerName www.example.com:8080ServerName localhost Thay đổi user chạy , ví dụ muốn đổi vai trò chạy là của user admin tìm đến: code /etc/hostsUser _www Group _www User admin Group _wwwBật mod_rewrite, để hỗ trợ viết lại URL và .htaccess:sudo apachectl restart, tạo ra một file index.html có nội dung TEST PAGE trong thư mục web, chạy kiểm tra http://testweb.com #LoadModule rewrite_module lib/httpd/modules/mod_rewrite.soLoadModule rewrite_module lib/httpd/modules/mod_rewrite.so Tạo thử một VirtualHost: ví dụ webiste lưu tại /Users/admin/Documents/testweb/, và cấu hình để chạy trên domain ảo testweb.com brew tap exolnet/homebrew-deprecatedDocumentRoot "/Users/admin/Documents/testweb/" ServerName testweb.com AllowOverride all Options Indexes FollowSymLinks MultiViews Require all granted Tiếp theo thay đổi host bằng cách gõ: # brew install #CÀI PHP7.2 # brew install# code /etc/hosts 127.0.0.1 testweb.com để làm việc với PHP, ví dụ cấu hình để Apache gọi đến phiên bản PHP7.2 đã cài đặt. Khởi động lại Apache sudo apachectl restart, tạo ra một file index.html có nội dung TEST PAGE trong thư mục web, chạy kiểm tra http://testweb.com Cài đặt PHPLoadModule php7_module /usr/local/opt//lib/httpd/modules/libphp7.so #LoadModule php7_module /usr/local/opt//lib/httpd/modules/libphp7.soTa cài PHP thông qua brew với các phiên bản hỗ trợ như 7.1 7.2 7.3 ..., các phiên bản như 5.6, 7.0 bị đánh dấu là lỗi thời - nếu vẫn muốn cài phiên bản lỗi thời này thì gõ lệnh sau trước khi cài đặt. # brew tap exolnet/homebrew-deprecatedĐể cài đặt phiên bản PHP nào thì gõ lệnh cài đặt brew install với tham số bản PHP như , , php8.0 ..., ví dụ: #CÀI PHP5.6# brew install #CÀI PHP7.2# brew installFile cấu hình cho từng phiên bản PHP nằm trong các thư mục con trong /usr/local/etc/php/ như: /usr/local/etc/php/5.6/php.ini /usr/local/etc/php/7.2/php.ini Cấu hình Apache để làm việc với PHP, ví dụ cấu hình để Apache gọi đến phiên bản PHP7.2 đã cài đặt. Mở file /usr/local/etc/httpd/httpd.conf và thêm vào curl -L https://gist.githubusercontent.com/rhukster/f4c04f1bf59e0b74e335ee5d186a98e2/raw > /usr/local/bin/sphp # chmod +x /usr/local/bin/sphp # export PATH=/usr/local/bin:/usr/local/sbin:$PATH#LoadModule php5_module /usr/local/opt//lib/httpd/modules/libphp5.so #LoadModule php7_module /usr/local/opt//lib/httpd/modules/libphp7.so #LoadModule php7_module /usr/local/opt//lib/httpd/modules/libphp7.so LoadModule php7_module /usr/local/opt//lib/httpd/modules/libphp7.so #LoadModule php7_module /usr/local/opt//lib/httpd/modules/libphp7.so Cũng cần đảm bảo trong httpd.conf có định nghĩa Handler, để Apache biết gọi đến PHP với các file có phần mở rộng .php # sphp 5.6 #CHUYỂN SANG PHP 7.2 # sphp 7.2DirectoryIndex index.php index.html Sethandler application/x-httpd-php , cơ bản sử dụng pecl để cài đặt (kể cả các extension khác nếu cần) Khởi động lại Apache, sau đó tạo một file index.php trong thư mục website, với nội dung:Sử dụng PHP-FPMKiểm tra thử http://testweb.com Với PHP-FPM thì máy chủ Web (như Apache, Nginx) sẽ chạy code PHP thông qua proxy, được phục vụ bởi dịch vụ PHP-FPM đang lắng nghe trên cổng nào đó (mặc định là 9000). Để rõ hơn cho trường hợp sử dụng này hãy tham khảo Apache Handler và Nginx - VHost Nếu bạn muốn dùng PHP-FPM để chạy code PHP, để tiện hãy mở file cấu hình www.conf sửa dòng listen = 127.0.0.1:9000Thànhlisten = 0.0.0.0:9000 Sau đó dùng lệnh brew services quản lý dịch vụ PHP cho phù hợp (về lệnh này xem thêm Sử dụng lệnh brew) Khi bạn cập nhật cấu hình, để khởi động lại dịch vụ bạn dùng lệnh (ví dụ cho bản php 7.2) brew services restartNếu dịch vụ đang bị dừng dùng lệnh sau để chạy brew services startĐể dừng dịch vụ brew services stopKhi bạn chuyển phiên bản PHP, bạn cần dừng dịch vụ, sau khi chuyển phiên bản bạn dùng brew services start chạy bản mới. Nếu dịch vụ đang chạy, dùng lệnh sau kiểm tra xem đã có dịch vụ PHP đang chạy và cổng lắng nghe lsof -Pni4 | grep LISTEN | grep phpCài đặt MySQLCài đặt bằng brew #Cài phiên bản mặc định 8.# brew install mysql #Nếu cài phiên bản 5.6# brew install #Nếu cài phiên bản 5.7# brew install # brew install mysql #Nếu cài phiên bản 5.6 # brew install #Nếu cài phiên bản 5.7 # brew installThiết lập MySQL chạy cùng hệ thống # brew services start mysql # Kiểm tra xem các dịch vụ nào đang thiết lập chạy tự động# brew services list # Kiểm tra phiên bản mysql# mysql -V # Chạy mysql nếu đang dừng# brew services run mysql # Dừng mysql# brew services stop mysql # Khởi động lại mysql# brew services restart mysql brew services start mysql # Kiểm tra xem các dịch vụ nào đang thiết lập chạy tự động # brew services list # Kiểm tra phiên bản mysql # mysql -V # Chạy mysql nếu đang dừng # brew services run mysql # Dừng mysql # brew services stop mysql # Khởi động lại mysql # brew services restart mysqlMặc định user có quyền cao nhất là root với password là rỗng '', nếu muốn thiết lập password mới cho root chạy lệnh: mysqladmin -u root password 'newpassword'File config my.cn tìm bằng lệnh mysql --help nó nằm ở: /usr/local/etc/my.cn tìm bằng lệnh mysql --help nó nằm ở: /usr/local/etc/my.cn Công cụ quản trị MySQLCó nhiều công cụ để quản trị MySQL, thậm chí có thể sử ngay ứng dụng nền web như phpmyadmin, ở đây gợi hai công cụ chạy trên macOS đó là MySQL Workbench và Sequel Pro Cài đặt WorkbenchWorkbench brew cask install --appdir="/Applications" mysqlworkbenchCài đặt WorkbenchWorkbench brew cask install --appdir="/Applications" mysqlworkbench |