XAMPP chỉ dành cho PHP?

XAMPP là Internet Explorer 6 của thế giới Môi trường phát triển. Nếu bạn đang sử dụng XAMPP, bạn đang sống ở năm 2006 và đã đến lúc phải tiếp tục. Không có lý do gì để sử dụng những công nghệ lỗi thời như vậy và cuối cùng nó sẽ chỉ cản trở cơ hội nghề nghiệp của bạn

Tôi là thành viên của nhiều nhóm và diễn đàn facebook PHP. Tôi thường xuyên thấy những người mới làm quen (và đôi khi là những nhà phát triển có kinh nghiệm hơn) hỏi những câu hỏi như "Làm cách nào để sử dụng PHP 8 trong XAMPP?" . Bạn đang hỏi sai câu hỏi mà bạn nên hỏi "XAMPP có phải là công cụ phù hợp cho công việc không?"

Gửi những người sử dụng XAMPP, tôi có một tuyên bố và một câu hỏi

tuyên bố. Không có lý do chính đáng để sử dụng xampp

Câu hỏi. Bạn thậm chí đã thử bất cứ điều gì khác?

Câu trả lời cho câu hỏi luôn luôn là không. Những người sử dụng XAMPP ngày nay cũng giống như những người vẫn sử dụng Internet Explorer 6 từ những năm 2000. Đó là điều đầu tiên họ được giới thiệu và họ chưa bao giờ học được điều gì tốt hơn hoặc bận tâm xem xét các giải pháp thay thế/tốt hơn. Thật không may, nhiều sách và hướng dẫn vẫn dạy XAMPP như một môi trường phát triển được lựa chọn một cách khó hiểu.

Mọi người cho rằng nó "dễ dàng hơn" nhưng nó chỉ "dễ dàng hơn" khi đó là những gì bạn đã quen. Nó thực sự khó khăn hơn rất nhiều khi bạn muốn làm điều gì đó bên ngoài phạm vi cấu hình mặc định rất hẹp mà XAMPP cung cấp

Tồi tệ hơn, cuối cùng bạn sẽ muốn tải trang web của mình lên một máy chủ thực, tại thời điểm đó, bạn sẽ cần thực hiện rất nhiều công việc để đảm bảo rằng các phiên bản PHP giống nhau, cấu hình và phần mở rộng PHP giống nhau, người dùng cơ sở dữ liệu được thiết lập, . Với XAMPP, quá trình này gây khó chịu và có thể khiến các trang web không hoạt động nếu không có những thay đổi đáng kể đối với đường dẫn tệp, tệp cấu hình, v.v. Với Docker, bạn chỉ cần tải lên toàn bộ ứng dụng, mã và cấu hình, và trang web sẽ chạy chính xác trên máy chủ giống như trên máy phát triển của bạn

Ngay cả vào đầu những năm 2000, khi nó được cho là lựa chọn đơn giản nhất hiện có, tôi luôn không khuyến khích mọi người sử dụng nó vì nó không cung cấp cho bạn kiến ​​thức nào về cách một máy chủ web thực sự được cấu hình. Và tại một thời điểm nào đó trong sự nghiệp của bạn với tư cách là nhà phát triển PHP, bạn sẽ cần đặt các tập lệnh trên một máy chủ web thực. Đến năm 2010 khi Vagrant ra mắt, mọi giả vờ "dễ dàng hơn" đã biến mất khỏi Window. Bạn đã có mười một năm kể từ khi có một giải pháp dễ dàng hơn (và tốt hơn theo nhiều cách). Tại sao bạn vẫn sử dụng XAMPP vào năm 2021?

Vì vậy, những gì bạn nên được sử dụng thay thế? . Docker là một giải pháp dành cho doanh nghiệp và cho phép bạn chạy cùng một cấu hình trên máy phát triển và máy chủ thực của mình, loại bỏ mọi sự cố mà bạn có thể gặp phải khi đưa trang web của mình vào hoạt động

Bản thân Docker không phải là sự thay thế trực tiếp cho XAMPP vì nó không chứa bất kỳ gói nào theo mặc định, Docker cung cấp một cách rất đơn giản để cài đặt bất kỳ gói nào bạn muốn. Tuy nhiên, bạn có thể tạo một máy chủ bằng cách sử dụng docker và cấu hình hiện có của người khác với hai lệnh rất đơn giản

Hãy so sánh XAMPP và Docker cho môi trường phát triển PHP

Phát triển và ngang bằng sản xuất

Khi bạn muốn làm cho trang web của mình hoạt động, XAMPP sẽ quay lại và cắn bạn vì bạn sẽ không biết cách quản lý máy chủ thực và cấu hình của XMAPP sẽ luôn khác với máy chủ của bạn, dẫn đến các câu hỏi như thế này, điều này, điều này, điều này

XAMPP có "dễ thở" hơn không?

Câu trả lời ngắn gọn là không

Mặc dù GUI có thể đơn giản hơn không đáng kể để khởi động và dừng máy chủ, nhưng bất kỳ tác vụ nào khác đều khó khăn hơn. Các tệp cấu hình ở những nơi khác nhau, bạn không có lựa chọn trong các phiên bản phần mềm, bạn không thể sử dụng phần mềm máy chủ khác, cài đặt các plugin PHP khó hơn đáng kể. Muốn chạy nhiều site cùng lúc thì Docker dễ hơn rất nhiều. Bất kỳ thay đổi cấu hình nào trong XAMPP đều thuộc phạm vi toàn hệ thống, bạn không thể dễ dàng thực hiện các thay đổi trên cơ sở từng trang web

Và, như đã đề cập ở trên, khi bạn muốn làm cho trang web của mình hoạt động, mọi thứ trở nên phức tạp hơn nhiều so với việc sử dụng Docker vì phần mềm máy chủ, cấu hình và phiên bản của bạn khác với môi trường phát triển của bạn

Trừ khi bạn chỉ phát triển cục bộ và yêu cầu cấu hình mặc định mà không có thay đổi nhỏ nhất, Docker dễ dàng hơn XAMPP theo bất kỳ số liệu nào bạn muốn sử dụng

Trước đây, khi tôi phản đối tuyên bố này, hoàn toàn là do những người chưa bao giờ dùng thử Docker cho môi trường phát triển của họ, nếu bạn không đồng ý khi đọc điều này, tôi có thể đảm bảo bạn là một trong số họ

XAMPP

Cùng điểm qua những ưu nhược điểm của XAMPP và Docker

Ưu điểm Một GUI khá đơn giản trông giống như một chương trình VB6 từ năm 1998. Cấu hình là toàn cầu, bạn chỉ có thể chạy một cấu hình máy chủ tại một thời điểm. Khó thay đổi phiên bản của phần mềm đã cài đặt e. g hoán đổi từ PHP 7 sang PHP 8. Hoán đổi apache lấy nginx là điều không thểKhuyến khích bạn sử dụng phpMyAdmin đã lỗi thời (nghiêm túc, hãy sử dụng MySQL Workbench thay thế) Cài đặt các tiện ích mở rộng PHP là một điều khó khăn trừ khi chúng được đóng gói cùng với XAMPP (e. g. hãy thử cài đặt xdebug hoặc tưởng tượng) Nó được cho là để phát triển nhưng không thể giải thích được thậm chí không đi kèm với xdebug được bật theo mặc định. Khi bạn tải trang web của mình lên một máy chủ thực, nó có thể sẽ sử dụng một phiên bản PHP/Apache/etc khác và có thể không hoạt động. Có một số khác biệt giữa Windows PHP và Linux PHP (mà máy chủ của bạn gần như chắc chắn sẽ chạy) có thể khiến mọi thứ bị hỏng. Khi khả năng của bạn phát triển, bạn sẽ muốn sử dụng các công cụ như Composer, Git và PHPUnit. XAMPP làm cho điều này trở nên khó khăn không cần thiết. Khó cài đặt nhiều trang web với phiên bản PHP riêng. Các nhà phát triển PHP chuyên nghiệp không sử dụng XAMPP. Nếu bạn muốn thăng tiến trong sự nghiệp và làm việc cho một công ty phát triển phần mềm chuyên nghiệp, bạn sẽ cần sử dụng các công cụ chuyên nghiệp. Không có lý do gì để không có chúng trong CV của bạn vì chúng thực sự dễ dàng hơn. Khó phát triển với chứng chỉ SSL hợp lệ. Bạn sẽ cần định cấu hình máy chủ/php của mình theo cách thủ công. ini khi bạn tải trang web của mìnhChuyển một trang web sang một máy phát triển khác yêu cầu phải tìm và chỉnh sửa các tệp cấu hình toàn cầu. Nếu bạn đang sử dụng Windows, một số tiện ích mở rộng PHP sẽ không hoạt động, một số tiện ích mở rộng khác rất khó cài đặt

docker

Ưu điểm Nhược điểm Dễ thiết lập (chỉ cần nhập hai lệnh) Bạn phải sử dụng dòng lệnh Rất nhanh chóng và dễ dàng thay đổi các phiên bản PHP Bạn có thể chạy cùng một hình ảnh docker trên máy chủ của mình Bạn có thể chạy nhiều trang web với các cấu hình máy chủ/PHP khác nhau Bạn có thể chạy nhiều trang web với các PHP khác nhau . Không có khả năng trang web của bạn không hoạt động khi bạn tải nó lên. Bạn sẽ sử dụng một công cụ thực sự được sử dụng trong ngành và là yêu cầu đối với hầu hết các ứng dụng công việc Các tiện ích mở rộng PHP có thể được cài đặt bằng công cụ docker-php-ext một dòng đi kèm với hình ảnh docker (Và đối với bất kỳ ai đọc phần này không quen thuộc với Docker, nó thực sự không

Phần kết luận

Lợi ích duy nhất của XAMPP là một GUI xấu xí trông giống như nó được thiết kế cho Windows 98. Có phải mọi người đang tránh những thứ như Docker vì nó yêu cầu nhập lệnh? . Bạn sẽ không thể tiến xa với tư cách là một lập trình viên nếu bạn sợ dòng lệnh

Bạn sẽ rất nhanh chóng cần sử dụng Git, PHPUnit và Composer. Tất cả các ứng dụng dòng lệnh

Rất khó hiểu tại sao mọi người vẫn sử dụng XAMPP vào năm 2021 và thật đáng tiếc khi các hướng dẫn và sách vẫn đề cập đến nó. Đã đến lúc phải vượt qua nó. XAMPP đã có ngày của nó, nó là một giải pháp tầm thường khi còn mới, bây giờ nó là một giải pháp tồi

Thực sự không có lý do gì để không sử dụng Docker. Bên cạnh những lợi ích kỹ thuật, đó là một yêu cầu đối với bất kỳ công việc phát triển web chuyên nghiệp nào và cuối cùng bạn sẽ cần phải học nó. Tại sao phải thiết lập thứ gì đó mà bạn sẽ cần phải thay thế khá sớm trong hành trình lập trình của mình?

Nếu bạn muốn tự mình dùng thử docker, hãy nhấp vào đây để biết môi trường ví dụ chạy nhanh và dễ dàng

Nếu bạn muốn biết thêm một chút về cách tự thiết lập môi trường, hãy xem bài viết này tôi đã viết cho sitepoint

XAMPP có sử dụng Java không?

XAMPP dành cho Windows không bao gồm Java , đây là điều kiện tiên quyết để sử dụng Apache Tomcat. Nếu bạn chưa cài đặt Java, bạn sẽ thấy một lỗi tương tự như bên dưới khi bạn cố gắng khởi động Apache Tomcat thông qua bảng điều khiển XAMPP.

XAMPP dùng để làm gì?

Mục tiêu của XAMPP là xây dựng một bản phân phối dễ cài đặt để các nhà phát triển bước vào thế giới của Apache . Để thuận tiện cho các nhà phát triển, XAMPP được định cấu hình với tất cả các tính năng được bật.

XAMPP có phải là máy chủ Linux không?

XAMPP là gói phần mềm chứa máy chủ HTTP Apache, PHP, MariaDB/MySQL và Perl. Vì nó đa nền tảng nên chúng tôi cũng có thể sử dụng nó trên Windows, Linux và Mac. XAMPP dành cho Linux được gọi là LAMPP . Gói này, được tạo bởi những người bạn apache, cung cấp dịch vụ dưới dạng máy chủ cục bộ hoặc máy chủ cục bộ.

Nhược điểm của XAMPP là gì?

Tại sao bạn không nên sử dụng XAMPP cho sản xuất .
Không có mật khẩu cho quản trị viên cơ sở dữ liệu. Mật khẩu là rất quan trọng nếu bạn có một trang web động với cơ sở dữ liệu. .
MySQL có thể được truy cập qua mạng. XAMPP sử dụng MySQL hoặc Mariadb làm dịch vụ cơ sở dữ liệu. .
ProFTPD sử dụng mật khẩu đã biết. .
Máy chủ thư cục bộ không an toàn