Để phát triển ứng dụng web PHP, bạn cần thiết lập Apache + MySQL + PHP trong hệ điều hành của mình, trong cái gọi là LAMP [Linux-Apache-MySQL-PHP], WAMP [Windows-Apache-MySQL-PHP] hoặc MAMP [macOS-
Có hai cách thiết lập LAMP/WAMP/MAMP
- Cài đặt các thành phần phần mềm riêng lẻ, tôi. e. , [a] Apache, [b] MySQL, [c] PHP, và [d] Các tiện ích khác
- Cài đặt gói gói, bao gồm tất cả các thành phần phần mềm [a] đến [d] cần thiết để phát triển ứng dụng web PHP
Đối với những người mới bắt đầu chạy trên Windows/macOS, tôi chắc chắn khuyên dùng cách tiếp cận gói để đơn giản [mặc dù họ có thể không đóng gói các bản phát hành mới nhất]. Đây là những gói có sẵn
Tôi sẽ mô tả cách cài đặt và thiết lập một số gói này trong phần tiếp theo
Môi trường phát triển tích hợp [IDE] và trình gỡ lỗiBạn cũng cần cài đặt một IDE, chẳng hạn như Công cụ phát triển PHP Eclipse [PDT] [đọc "Cách cài đặt Eclipse PDT"], NetBeans, IntelliJ IDEA hoặc những thứ khác
Bạn cần thiết lập các công cụ sửa lỗi này và làm quen với
- Gỡ lỗi PHP phía máy chủ bằng "xDebug" hoặc "Zend Debugger" và
- Gỡ lỗi JavaScript phía máy khách bằng cách sử dụng cái gọi là "trình gỡ lỗi F12" trong "Công cụ dành cho nhà phát triển" [không dùng "Fireorms" nổi tiếng]
Đọc phần "Gỡ lỗi ứng dụng web PHP"
Ngôn ngữ lập trìnhTôi sẽ cho rằng bạn có một số kiến thức cơ bản về các ngôn ngữ lập trình này. Nếu không, hãy đọc các phần có liên quan
Hệ thống kiểm soát phiên bản [Git]Thiết lập Hệ thống kiểm soát phiên bản, chẳng hạn như Git [trên Github], để sao lưu, kiểm soát phiên bản và cộng tác. Đọc "Cách thiết lập và bắt đầu với Git"
Máy chủ LAMP/WAMP/MAMP
Trong phần này, tôi sẽ mô tả ngắn gọn cách cài đặt và tùy chỉnh một số gói AMP. Để cài đặt các thành phần riêng lẻ, hãy đọc "Cách cài đặt và bắt đầu với Apache", "Cách cài đặt và bắt đầu với MySQL"
XAMPP [Dành cho Windows/macOS/Linux]
XAMPP [@ https. //www. apachefriends. tổ chức/chỉ mục. html] là viết tắt của Đa nền tảng [X], Apache [A], MariaDB [trước đây là MySQL] [M], PHP [P] và Perl [P]. Nó kết hợp Apache, MariaDB/MySQL, PHP và Perl miễn phí và mã nguồn mở cho Windows, Linux và macOS. Nó cũng bao gồm PhpMyAdmin, FileZilla FTP Server, Mercury Mail Server, Tomcat Server;
Tại thời điểm viết bài [tháng 4 năm 2021], XAMPP 8. 0. 3 gói PHP 8. 0. 3, Apache 2. 4. 6, MariaDB 10. 4. 18 và PhpMyAdmin 5. 1. 0. Xem "Wiki XAMPP"
Cài đặt XAMPP trên Windows- Tải xuống. Truy cập trang web mẹ của XAMPP tại https. //www. apachefriends. tổ chức/chỉ mục. html ⇒ Tải xuống gói Windows [e. g. ,
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
8] - Cài đặt. Chỉ cần chạy Trình cài đặt đã tải xuống. Chọn thư mục cài đặt của bạn. Tôi sẽ giả định rằng XAMPP được cài đặt trong "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
9", được ký hiệu làErrorLog "logs/error.log" CustomLog "logs/access.log" combined
0, trong bài viết này
- Tải xuống. Truy cập trang web mẹ của XAMPP tại https. //www. apachefriends. tổ chức/chỉ mục. html ⇒ Tải xuống gói macOS [e. g. ,
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
1] - Cài đặt. Chỉ cần chạy Trình cài đặt đã tải xuống. Chọn thư mục cài đặt của bạn. Tôi sẽ giả sử rằng XAMPP được cài đặt trong "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
2", được ký hiệu làErrorLog "logs/error.log" CustomLog "logs/access.log" combined
0, trong bài viết này
Khởi chạy "Bảng điều khiển XAMPP" ["______24" cho Windows, @@ Để kiểm tra. cho macOS] trong thư mục cài đặt XAMPP. Một biểu tượng nhỏ xuất hiện trong Khay biểu tượng. Nhấp chuột phải vào biểu tượng ⇒ "Show/Hide" để hiện "đầy đủ" Cửa sổ Control Panel
"Bảng điều khiển XAMPP" cho phép bạn bắt đầu/dừng từng máy chủ này. Máy chủ HTTP Apache, Máy chủ cơ sở dữ liệu MySQL, Máy chủ FTP FileZilla, Máy chủ thư Mercury và Máy chủ HTTP Tomcat. Bạn cũng có thể kiểm tra cấu hình của chúng ["Config"], nhật ký ["Nhật ký"] và khởi chạy các công cụ quản trị viên như PhpMyAdmin cho MySQL ["Quản trị viên"]
Xác minh cài đặt máy chủ Apache/MariaDBTheo mặc định, một thư mục có tên "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined5" đã được tạo trong thư mục cài đặt XAMPP, đóng vai trò là thư mục gốc tài liệu của Apache
Để xác minh cài đặt, hãy khởi chạy "Bảng điều khiển XAMPP". Khởi động máy chủ Apache và MariaDB/MySQL bằng cách nhấp vào nút "Bắt đầu"
- Trên trình duyệt của bạn, vấn đề "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
6" [hoặc "ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
7"]. Kiểm tra các mục menu như "HOW-TO Guides", "FAQs", "PHPInfo" - Kiểm tra "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
5" [thư mục cơ sở tài liệu của Apache] và duyệt qua "ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
9" - Chọn "phpMyAdmin" từ bảng điều khiển hoặc phát hành "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
20" hoặc nhấp vào nút "Quản trị viên" trong MySQL để khởi chạy ứng dụng web PhpMyAdmin để truy cập MariaDB/MySQL. Chọn tab "Tài khoản người dùng", hiển thị rằng không có mật khẩu nào được đặt cho siêu người dùngServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
21 và người dùng ẩn danh "Bất kỳ". Đặt mật khẩu choServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
21 và xóa người dùng ẩn danh [Xem phần "PhpMyAdmin"]
Để tắt XAMPP, dừng tất cả các dịch vụ [máy chủ] và nhấn "Quit"
Viết tập lệnh PHP Hello-worldTheo mặc định, thư mục gốc của tài liệu Apache được đặt tại "______123". Sử dụng trình soạn thảo lập trình [chẳng hạn như notepad++ cho Windows hoặc gedit cho Ubuntu/macOS] để viết một tập lệnh PHP đơn giản có tên "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"24" và lưu trong thư mục "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined5", như sau
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"8
Để chạy tập lệnh PHP này, hãy khởi động trình duyệt và cấp URL
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"26, giả sử rằng máy chủ Apache đã được khởi động
Ví dụ "phpinfo". Viết một tập lệnh PHP khác có tên "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"27" [được lưu trong "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined5"] để hiển thị các cài đặt PHP trong Apache, như sau
Chạy tập lệnh bằng cách phát hành URL "______129". Hàm có sẵn của PHP
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined30 xuất ra một trang HTML được định dạng đầy đủ hiển thị chi tiết về môi trường PHP của bạn
XAMPP được tổ chức trong các thư mục con. Những cái quan trọng là
- htdocs. thư mục gốc tài liệu mặc định của apache
- apache, mysql, FileZillaFTP, MercuryMail, tomcat. cho phần mềm máy chủ
- phpMyAdmin. cho công cụ PhpMyAdmin
- php, perl. cho các ngôn ngữ
Tệp cấu hình chính của Apache "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined31" được đặt tại "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined32". Lưu ý các chỉ thị cấu hình sau
- Các chỉ thị cốt lõi là.
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
____ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
33 chỉ định thư mục đã cài đặt của apache.ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
34 chỉ định số cổng TCP cho máy chủ web Apache, trong trường hợp này, mặc định là cổng TCP 80.ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
35 chỉ định thư mục gốc của máy chủ web - Các lệnh liên quan đến ủy quyền thư mục là [đối với Apache 2. 4, không tương thích với Apache 2. 2]. [TODO] Giải thích
- Các chỉ thị liên quan đến ghi nhật ký là.
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
Tệp cấu hình chính của PHP "______236" được đặt từ "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined37" [như được tiết lộ bởi đầu ra
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined30]
[TODO] Giải thích
Cấu hình MySQLTệp cấu hình chính của MySQL "______239" được đặt tại "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined50". Lưu ý các cài đặt sau
- MySQL Server Daemon [
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
51]ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
2TheErrorLog "logs/error.log" CustomLog "logs/access.log" combined
52 chỉ định số cổng TCP cho máy chủ MySQL [mặc định là 3306].ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
53 chỉ định thư mục cài đặt MySQL.ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
54 chỉ định thư mục cơ sở dữ liệu.ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
55 chỉ định tệp nhật ký lỗi MySQL - Máy khách tương tác MySQL [
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
56]ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
3
Cài đặt MySQL mặc định tạo một siêu người dùng có tên "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"21" mà không cần mật khẩu. Nó cũng cung cấp một người dùng ẩn danh không có mật khẩu. Bạn cần phải
- Đặt mật khẩu cho "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
21" - Xóa người dùng ẩn danh
- Bạn không nên sử dụng siêu người dùng "______121" cho các hoạt động bình thường hàng ngày. Thay vào đó, hãy tạo một người dùng mới [ví dụ:
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
70] để sử dụng cho hoạt động
Bạn có thể quản trị MySQL thông qua PhpMyAdmin. Xem phần "PhpMyAdmin"
Bắt đầu một ứng dụng web PHP mớiĐể bắt đầu một ứng dụng web PHP mới, hãy tạo cho bạn thư mục làm việc trong "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined5" [nói thư mục "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined72"]. Bạn có thể khởi chạy ứng dụng web của mình qua URL "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined73". Ngoài ra, bạn có thể sử dụng thư mục "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined5", bằng cách xóa tất cả nội dung hiện có. Bạn có thể truy cập ứng dụng web qua URL "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined6"
Đối với Sản xuất, hãy định cấu hình máy chủ ảo [trong Apache] cho dự án của bạn
WampServer [Dành cho Windows]
[TODO] Đã lỗi thời. cần cập nhật. XAMPP đa nền tảng [trong phần trước] được đề xuất
Máy chủ Wamp [@ http. //www. máy chủ. com/en/] gói Apache, MySQL và PHP cho Windows trong một gói duy nhất. Nó cũng bao gồm các công cụ như PhpMyAdmin [công cụ quản trị cơ sở dữ liệu MySQL], SQL Buddy [một công cụ thay thế cho PhpMyAdmin], XDebug [Công cụ gỡ lỗi PHP], WebGrind [Công cụ cấu hình PHP]
Tại thời điểm viết bài [tháng 9 năm 2014], WampServer 2. 5 gói Apache 2. 4. 9, MySQL5. 6. 17, PHP 5. 5. 12, PhpMyAdmin 4. 1. 14, SqlBuddy 1. 3. 3 và XDbebug 2. 2. 5
Cài đặt WampServerĐể cài đặt WampServer
- Tải xuống. Truy cập trang web mẹ của WampServer tại http. //www. máy chủ. com/en ⇒ Chọn "DOWNLOADS" ⇒ Chọn gói phù hợp với nền tảng của bạn [32-bit hoặc 64-bit] ⇒ Tải xuống tệp cài đặt [e. g. ,
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
76] - Cài đặt. Để cài đặt WampServer, chỉ cần chạy tệp cài đặt đã tải xuống. Chọn thư mục cài đặt của bạn. Tôi sẽ giả sử rằng WampServer được cài đặt trong "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
77", ký hiệu làErrorLog "logs/error.log" CustomLog "logs/access.log" combined
0, trong bài viết này
Để khởi động WampServer, hãy chọn "Khởi động WampServer" từ menu "Bắt đầu";
Một biểu tượng nhỏ sẽ xuất hiện trên khay biểu tượng. "Xanh" cho biết rằng tất cả các dịch vụ đã bắt đầu; . Nhấp vào biểu tượng để mở "Bảng điều khiển WampServer". Bạn có thể
- Trong phần "Quản trị nhanh". Bắt đầu/Dừng/Khởi động lại tất cả các dịch vụ [Dịch vụ Apache & MySQL]
- Đặt máy chủ trực tuyến [để người dùng có thể truy cập máy chủ qua Internet] hoặc ngoại tuyến
- Định cấu hình Apache, MySQL và PHP, trong các phần tương ứng của chúng
- Khởi chạy "PhpMyAdmin"
- Khác
Để tắt chương trình, nhấp vào "Dừng tất cả dịch vụ" trên Bảng điều khiển WampServer ⇒ nhấp chuột phải vào biểu tượng WampServer ⇒ Thoát
Xác minh cài đặt Apache/MySQL/PHPTheo mặc định, một thư mục có tên "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined70" đã được tạo trong thư mục cài đặt WampServer, đóng vai trò là thư mục gốc tài liệu của Apache. Trang chào mừng có tên "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined9" cũng được tạo trong thư mục "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined70"
Để xác minh cài đặt
- Khởi động WampServer. Đợi biểu tượng chuyển sang màu xanh lục cho biết tất cả dịch vụ đã bắt đầu [nếu không, hãy nhấp vào biểu tượng và chọn "Bắt đầu tất cả dịch vụ"]. Để thử nghiệm, hãy đặt máy chủ ở chế độ "ngoại tuyến" để vô hiệu hóa quyền truy cập bên ngoài [tôi. e. , nó chỉ có thể được truy cập trong localhost]
- Để xác minh Apache. Khởi động trình duyệt và phát hành URL
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
6. Điều này sẽ lần lượt yêu cầu "ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
9". Trang chỉ mục cung cấp các liên kết đến tài liệu, bí danh và công cụ. Quá trình cài đặt tạo các bí danh này cho Apache.ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
75,ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
76,ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
77 cho các dịch vụ tương ứng. Bạn có thể cấp URLErrorLog "logs/error.log" CustomLog "logs/access.log" combined
78 để truy cập các dịch vụ này - Để xác minh MySQL. Phát hành URL
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
20 để truy cập MySQL thông qua PhpMyAdmin. Nhấp vào "Người dùng", hiển thị rằng không có mật khẩu nào được đặt cho siêu người dùngServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
21 và người dùng ẩn danh - Để xác minh PHP. Phát hành URL
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
81, chạy hàmErrorLog "logs/error.log" CustomLog "logs/access.log" combined
30
Sử dụng trình soạn thảo lập trình [chẳng hạn như notepad++ cho Windows hoặc gedit cho Ubuntu/macOS] để viết một tập lệnh PHP đơn giản có tên "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"24" và lưu trong thư mục "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined70", như sau
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined5
Để chạy tập lệnh này, hãy khởi động trình duyệt và cấp URL
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"26, giả sử rằng máy chủ Apache đã được khởi động
Một vi dụ khac. Viết một tập lệnh PHP khác có tên "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined86" [được lưu trong "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined70"] để hiển thị các cài đặt PHP trong Apache, như sau
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined7
Chạy tập lệnh bằng cách phát hành URL "______129"
Cấu trúc thư mục WampServerWampServer được tổ chức theo cấu trúc thư mục sau. Những cái quan trọng là
- thùng rác. chứa các tệp nhị phân cho Apache, MySQL và PHP, trong thư mục con tương ứng của chúng. Đối với mỗi thành phần, bạn có thể cài đặt nhiều phiên bản và chọn một trong số chúng đang hoạt động
- ứng dụng. chứa các công cụ phía máy chủ như PhpMyAdmin, SQL Buddy và WebGrind
- công cụ. chứa công cụ phía máy khách như xdc [XDebug Client]
- www. thư mục gốc tài liệu mặc định của apache
- khúc gỗ. chứa nhật ký truy cập/lỗi apache, php, mysql
- bí danh. chứa cấu hình bí danh của apache cho PhpMyadmin, SQL Buddy và WebGrind
Tệp cấu hình chính của Apache "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined31" được đặt tại "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined90". Lưu ý các chỉ thị cấu hình sau
- Các chỉ thị cốt lõi là.
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
7TheErrorLog "logs/error.log" CustomLog "logs/access.log" combined
33 chỉ định thư mục đã cài đặt của apache.ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
34 chỉ định số cổng TCP cho máy chủ web Apache, trong trường hợp này, mặc định là cổng TCP 80.ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
35 chỉ định thư mục gốc của máy chủ web - Các lệnh liên quan đến ủy quyền thư mục là [@@ Đối với Apache 2. 2 thôi, cần cập nhật cho Apache 2. 4]. [TODO] Giải thích
- Các chỉ thị liên quan đến ghi nhật ký là.
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
8
Cấu hình chính của PHP cho Apache2 "______236" được đặt tại "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined95" [như được tiết lộ bởi đầu ra
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined30]
[TODO] Giải thích
Cấu hình MySQLTệp cấu hình chính của MySQL "______239" được đặt tại "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined98". Lưu ý các cài đặt sau
- MySQL Server
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
9TheErrorLog "logs/error.log" CustomLog "logs/access.log" combined
52 chỉ định số cổng TCP cho máy chủ MySQL [mặc định là 3306].ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
53 chỉ định thư mục cài đặt MySQL.ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
54 chỉ định thư mục cơ sở dữ liệu.ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
55 chỉ định tệp nhật ký lỗi MySQL - Daemon máy chủ MySQL [
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
51]ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
0 - Máy khách tương tác MySQL [
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
56]ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
1
Cài đặt MySQL mặc định tạo siêu người dùng "______121" mà không cần mật khẩu. Nó cũng tạo ra một người dùng ẩn danh không có mật khẩu. Bạn cần phải
- Đặt mật khẩu cho "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
21" - Xóa người dùng ẩn danh
- Bạn không nên sử dụng siêu người dùng "______121" cho các hoạt động bình thường hàng ngày. Thay vào đó, hãy tạo một người dùng mới [chẳng hạn như
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
08] để sử dụng cho hoạt động
Xem phần "PhpMyAdmin"
Bắt đầu một ứng dụng web PHP mớiĐể bắt đầu một ứng dụng web PHP mới, hãy tạo cho bạn thư mục làm việc trong "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined70" [nói thư mục "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined72"]. Bạn có thể khởi chạy ứng dụng web của mình qua URL "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined73". Ngoài ra, bạn có thể sử dụng thư mục "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined70", bằng cách xóa tất cả nội dung hiện có. Bạn có thể truy cập ứng dụng web qua URL "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined6"
Đối với Sản xuất, hãy định cấu hình máy chủ ảo [trong Apache] cho dự án của bạn
Máy chủ LAMP [Dành cho Ubuntu]
Đọc "Cách cài đặt máy chủ LAMP trên Ubuntu"
PhpMyAdmin - Ứng dụng web PHP Apache để quản trị MySQL
PhpMyAdmin [http. //www. phpmyadmin. net] là một công cụ ứng dụng web PHP nguồn mở phổ biến để quản trị và thao tác hệ thống cơ sở dữ liệu MySQL/MariaDB
Cài đặt PhpMyAdmin
PhpMyAdmin một ứng dụng web PHP chạy dưới Máy chủ Apache. Do đó, nó đi kèm với bản phân phối AMP [Apache-MySQL/MariaDB-PHP], chẳng hạn như XAMPP
Khởi chạy PhpMyAdmin
PhpMyAdmin là một ứng dụng web Apache PHP. Thông thường, bí danh có tên "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined75" được xác định ánh xạ tới thư mục đã cài đặt của nó
Để khởi chạy PhpMyAdmin, hãy khởi động máy chủ Apache và MySQL. Sau đó, khởi động trình duyệt và cấp URL
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"20
Đặt hoặc thay đổi mật khẩu của root MySQL/MariaDB
Sau khi cài đặt, root siêu người dùng của MySQL/MariaDB không có mật khẩu hoặc có mật khẩu được tạo ngẫu nhiên. Chúng ta cần thiết lập/thay đổi mật khẩu của root ngay sau khi cài đặt
Bước 1. Thay đổi mật khẩu của MySQL/MariaDBServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"21
Có một số cách để đặt/thay đổi mật khẩu của root
- Sử dụng PhpMyAdmin. Khởi chạy PhpMyAdmin ⇒ Chọn "Tài khoản người dùng" từ menu trên cùng ⇒ Nhấp vào "Chỉnh sửa đặc quyền" trong "root@localhost" ⇒ Bạn sẽ tìm thấy tùy chọn "Thay đổi mật khẩu" ở menu trên cùng ⇒ Nhập mật khẩu mới
- Sử dụng ứng dụng khách
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
56 dòng lệnh.ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
2
PhpMyAdmin không duy trì người dùng của riêng mình mà sử dụng người dùng MySQL/MariaDB để đăng nhập vào MySQL/MariaDB
Cấu hình ban đầu trong "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"18" như sau
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"3
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"19 của
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"20 hướng dẫn PhpMyAdmin lấy người dùng/mật khẩu từ tệp cấu hình này mà không hiển thị màn hình đăng nhập [i. e. , mã hóa người dùng/mật khẩu trong cấu hình]. Do đó, bạn cần cung cấp mật khẩu mới của root sau khi nó được đặt/thay đổi
Cách tiếp cận tốt hơn là thay đổi
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"19 thành
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"22. Màn hình đăng nhập sẽ được hiển thị và người dùng/mật khẩu sẽ được ghi lại từ màn hình đăng nhập. Bạn có thể sử dụng bất kỳ người dùng MySQL/MariaDB hợp lệ nào để đăng nhập. Cấu hình như sau
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"4
Tạo người dùng mới
Để tạo người dùng mới, hãy nói
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"23
- Sử dụng PhpMyAdmin. Khởi chạy PhpMyAdmin ⇒ Chọn "Tài khoản người dùng" từ menu trên cùng ⇒ Nhấp vào "Thêm tài khoản người dùng" ⇒ Điền thông tin
- Sử dụng ứng dụng khách
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
56 dòng lệnh.ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
5
Sử dụng PhpMyAdmin
[LÀM]
Cấu hình PhpMyAdmin cho Apache
- Trong XAMPP. PhpMyAdmin được định cấu hình trong "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
25", được đưa vào tệp cấu hình chính của Apache "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
26" thông qua chỉ thịServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
27. Trong cấu hình, bí danh có tên "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
28" được xác định ánh xạ tới thư mục của PhpMyAdmin tại "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
29" - Trong máy chủ Wamp. PhpMyAdmin được cấu hình trong "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
30", được đưa vào tệp cấu hình chính của Apache "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
31" thông qua chỉ thị "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
32". Trong "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
33", bí danh có tên "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
28" được xác định ánh xạ tới thư mục của PhpMyAdmin "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
35"
Ghi chú về Lỗi
- Không thể đăng nhập bằng
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
21, sau khi đặt mật khẩu. Xem ở trên - Lỗi "______037". Từ PhpMyAdmin hoặc ứng dụng khách dòng lệnh
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
56, hãy đưa ra lệnh này.ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
6
Eclipse PDT [Công cụ dành cho nhà phát triển PHP]
PDT nhật thực [@ https. //www. nhật thực. org/pdt] là một IDE để phát triển ứng dụng web PHP. Ưu điểm chính là nó có thể gỡ lỗi các tập lệnh phía máy chủ PHP với phần mở rộng XDebug hoặc Zend Debugger
Các IDE PHP thay thế là. NetBeans [@ http. //www. hạt đậu. org], PHPEclipse [@ http. //www. phpeclipse. com]
Cài đặt Eclipse PDTNếu bạn chưa bao giờ cài đặt bất kỳ gói Eclipse nào, hãy truy cập trang mẹ của Eclipse @ http. //www. nhật thực. org ⇒ Tải xuống ⇒ Chọn "Eclipse dành cho nhà phát triển PHP"
Nếu bạn đã cài đặt một gói Eclipse [chẳng hạn như IDE Eclipse dành cho Nhà phát triển Java], bạn có thể thêm plugin PDT bằng cách
- Khởi chạy Eclipse ⇒ Chọn menu "Trợ giúp" ⇒ "Cài đặt phần mềm mới"
- Trong "Làm việc với" ⇒ Nhập "https. //Tải xuống. nhật thực. org/tools/pdt/updates/latest/" ⇒ Thêm
- Trong hộp "Tên" ⇒ Chọn "Công cụ phát triển PHP" ⇒ Tiếp theo ⇒ Chấp nhận giấy phép ⇒ Kết thúc
- Tạo một thư mục có tên "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined
72" trong thư mục gốc của máy chủ web của bạn [hoặc thư mục cơ sở tài liệu] cho ứng dụng web PHP hello-world [e. g. , "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
40" cho XAMPP, "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
41" cho WampServer] - Khởi chạy Eclipse [với PDT]. Chọn một không gian làm việc
- Trên Eclipse, tạo một dự án PHP mới. "Tệp" ⇒ Mới ⇒ Dự án. ⇒ PHP ⇒ Dự án PHP
- Trong "Project Name", nhập tên cho dự án, e. g. , "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
42" - Trong "Nội dung", chọn "Tạo dự án tại vị trí thoát" ⇒ "Duyệt" để chọn thư mục cơ sở của ứng dụng web PHP hello-world được tạo ở Bước 1 [e. g. , "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
40" cho XAMPP, "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
41" cho WampServer] ⇒ Kết thúc
- Trong "Project Name", nhập tên cho dự án, e. g. , "
- Viết tập lệnh PHP của bạn. Nhấp chuột phải vào dự án "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
42" ⇒ "Mới" ⇒ "Tệp PHP". Nhập các mã sau và lưu dưới dạng "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
46"Sau đó, tạo một tệp PHP mới cho trình điều khiển thử nghiệm sau "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
47" - Để chạy ứng dụng web, nhấp chuột phải vào bất kỳ đâu trên "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
47" ⇒ Run As ⇒ PHP Web Application ⇒ Thay đổi URL thànhServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
49.
Để chọn trình duyệt của bạn, hãy chọn "Cửa sổ" ⇒ Tùy chọn ⇒ Chung ⇒ Trình duyệt web ⇒ Chọn trình duyệt của bạn, chẳng hạn như trình duyệt web nội bộ hoặc trình duyệt web bên ngoài [Firefox, IE, v.v.]. - Bạn cũng có thể chạy tập lệnh này dưới dạng "Ứng dụng PHP CLI", tôi. e. , một chương trình Giao diện dòng lệnh độc lập thay vì ứng dụng web phía máy chủ, vì chương trình trên hoàn toàn là PHP, không có câu lệnh HTML. Nhấp chuột phải vào "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
47" ⇒ Run As ⇒ Ứng dụng PHP CLI.
Eclipse sẽ yêu cầu bạn định cấu hình "PHP có thể thực thi" [trong "Cửa sổ" ⇒ PHP ⇒ PHP đã cài đặt] ⇒ Thêm ⇒ Cung cấp tệp thực thi PHP [e. g. , cho XAMPP-Windows,ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
51].
Chạy lại ⇒ Đầu ra sẽ được hiển thị trong bảng điều khiển của nhật thực.
TẠI ĐÂY [Phần tiếp theo]
[TODO] Các IDE khác
Gỡ lỗi ứng dụng web PHP
XDebug để gỡ lỗi Tập lệnh PHP phía máy chủ
XDebug là một phần mở rộng của PHP, cho phép bạn gỡ lỗi Tập lệnh PHP phía máy chủ đang chạy dưới Apache trong Eclipse PDT. Bạn có thể tìm thấy các bản tải xuống, hướng dẫn cài đặt và tài liệu tại trang mẹ của xDebug @ https. //xdebug. tổ chức
Cài đặt phần mở rộng xDebug cho PHPTiện ích mở rộng xDebug PHP có thể được đóng gói
- Đối với XAMPP [Windows], mô-đun xDebug là "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
52" - Đối với XAMPP [macOS], mô-đun xDebug là. @@Để kiểm tra
- Đối với Ubuntu, hãy đọc "Cài đặt tiện ích mở rộng XDebug cho PHP" cho Eclipse PDT"
- Đối với WampServer, mô-đun xDebug được cài đặt là "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
53"
Nếu bạn không thể tìm thấy ở trên, bạn có thể tải xuống từ https. //xdebug. tổ chức/tải xuống
- Đối với XAMPP [Windows]. Tải xuống "Windows Binary" cho nền tảng của bạn [e. g. , PHP8. 0 VS16 TS [64 bit] - "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
54"]. Sao chépServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
55 sangServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
56 - [TODO] Khác
Thêm dòng sau vào tệp cấu hình PHP "php. ini" [Bạn có thể tìm thấy tệp cấu hình PHP cho Apache từ đầu ra
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined30, trong "Tệp cấu hình đã tải", e. g. ,
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"58 cho XAMPP]
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"7Xác minh cài đặt xDebug trong PHP
Để xác minh rằng xDebug đã được cài đặt và tải, hãy khởi động lại máy chủ và tìm kiếm đầu ra
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined30 [chạy "
ErrorLog "logs/error.log" CustomLog "logs/access.log" combined86" được viết trước đó] cho "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"61", sẽ hiển thị như sau
Khởi chạy Eclipse ⇒ Chọn menu "Cửa sổ" ⇒ Tùy chọn ⇒ Mở rộng nút "PHP"
- Chọn "Máy chủ" ⇒ Kiểm tra xem có mục nào có "Tên" của "Máy chủ PHP mặc định" và "URL" của "http. //localhost" ⇒ Chọn mục nhập ⇒ Chỉnh sửa ⇒ Chọn tab "Trình gỡ lỗi" ⇒ Trong "Trình gỡ lỗi". Chọn "XDebug" và đặt Cổng thành 9003
- Chọn "PHP đã cài đặt" ⇒ "Thêm"
- Trong "Tên", Nhập tên, e. g. "PHP", "XAMPP" hoặc "Máy chủ Wamp"
- Trong "Đường dẫn thực thi", nhập vị trí của tệp thực thi PHP "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
62" [e. g. , "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
63" cho WampServer, "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
51" cho XAMPP [Windows]] - Trong "Tệp ini PHP", nhập tệp cấu hình php được sử dụng bởi Apache [e. g. , "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
65" cho WampServer. "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
66" cho XAMPP [Windows]] - Trong "Trình gỡ lỗi", chọn "XDebug" và đặt cổng thành 9003
- Chọn "Gỡ lỗi"
- Trong "Máy chủ", chọn "Máy chủ PHP mặc định"
- Trong "PHP Executable", chọn PHP Executable đã cấu hình ở bước trước [i. e. , "XAMPP" hoặc "WampServer"]
- Kiểm tra "Ngắt ở dòng đầu tiên"
- Chọn "Manual" [???] ⇒ Kiểm tra xem có mục nào có "Site Name" là "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
67" với "URL" là "ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
68" không - Duyệt qua các cài đặt khác cho PHP
Hãy theo dõi qua ứng dụng web PHP "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"42" được tạo trước đó [trong phần "Eclipse PDT"], chứa hai tập lệnh PHP. "______047" và "______046"
- Đặt điểm dừng ở dòng 2 của "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
47" bằng cách nhấp vào lề trái - Nhấp chuột phải vào "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
47" ⇒ Gỡ lỗi dưới dạng ⇒ Ứng dụng web PHP - Chuyển sang phối cảnh "Gỡ lỗi"
- Chương trình sẽ ngắt ở dòng 2 của "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
47". Nhấp vào "Bước vào [F5]" hoặc "Bước qua [F6]" để theo dõi chương trình. Kiểm tra các biến và quan sát đầu ra tại trình duyệt web - Bạn cần kết thúc phiên gỡ lỗi bằng cách nhấn nút "Chấm dứt"
Hãy lưu ý rằng nếu bạn chọn "Break at First Line" trong cấu hình gỡ lỗi, chương trình sẽ tạm dừng ở dòng đầu tiên của tệp PHP. Bạn cần ấn "Resume" hoặc "Step Over"
Ví dụ gỡ lỗi PDT của Eclipse 2. Gỡ lỗi ứng dụng web PHP [HTML+PHP]Tạo hai tệp sau "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"75" và "______076", được lưu trong thư mục gốc tài liệu của Apache
Ghi chú. Mã này dùng để minh họa việc gỡ lỗi ứng dụng web PHP. Trong thực tế, hai tệp thường được hợp nhất thành một
Để chạy ứng dụng web PHP, nhấp chuột phải vào "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"75" ⇒ Run As ⇒ PHP Web Application
Để gỡ lỗi ứng dụng web PHP
- nhấp chuột phải vào "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"
75" ⇒ Gỡ lỗi dưới dạng ⇒ Ứng dụng web PHP - Chuyển sang phối cảnh "Gỡ lỗi"
- Nhấn nút "Resume [F8]" để chạy qua mã HTML
- Chuyển sang trình duyệt. Nhập nội dung nào đó vào trường văn bản và nhấp vào "gửi"
- Quay trở lại Eclipse, nó hiện bị ngắt ở dòng đầu tiên của "______076"
- Nhấp vào "Bước vào [F5]" hoặc "Bước qua [F6]" để theo dõi chương trình. Kiểm tra các biến và quan sát đầu ra tại trình duyệt web
- Bạn cần kết thúc phiên gỡ lỗi bằng cách nhấn nút "Chấm dứt"
Lưu ý rằng nếu chương trình của bạn chứa HTML và PHP, bạn cần chuyển đổi giữa trình duyệt web [để nhập dữ liệu] và nhật thực [để nhấn "Tiếp tục" để chạy qua mã HTML hoặc "Bước qua/Vào" để thực thi PHP . Đôi khi, các biểu tượng trình duyệt/nhật thực trên thanh tác vụ sắp nhắc bạn chuyển qua
Ghi chú. Tôi thực sự định đặt tên "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"75" là "_______081", nhưng phiên XDebug dường như không bắt đầu trên HTML [mặc dù bạn có thể điều chỉnh "Cấu hình chạy" để bắt đầu chạy từ tệp HTML]?. Hãy cho tôi biết nếu bạn có câu trả lời. Hiện tại, hãy đặt tên cho tất cả các tệp [có thể chỉ là trang bắt đầu] "
ServerRoot "/apache" Listen 80 ServerName localhost:80 DocumentRoot "/htdocs"82" ngay cả khi chúng chỉ chứa HTML. Đây không thực sự là một vấn đề