Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Một đoạn trích từ PHP & MySQL Novice to Ninja, 7th Edition, một hướng dẫn thực tế để tìm hiểu tất cả các công cụ, nguyên tắc và kỹ thuật cần thiết để tạo một ứng dụng web chất lượng, được cung cấp bên dưới. Trong bài học đầu tiên của loạt bài này, chúng ta sẽ tìm hiểu cách định cấu hình Docker cho môi trường phát triển PHP của bạn


  • Sử dụng Docker để thiết lập môi trường phát triển PHP của bạn
  • Hướng dẫn cho người mới bắt đầu về PHP
  • Giới thiệu MySQL. Hướng dẫn cho người mới bắt đầu
  • Sử dụng MySQL để hiển thị dữ liệu trên web. Một lời giới thiệu

Cùng nhau, chúng ta sẽ khám phá thế giới xây dựng trang web và khám phá vô số công cụ động, khái niệm và khả năng mà chúng mở ra khi chúng ta thực hiện những bước đầu tiên vượt ra khỏi thế giới tĩnh của việc xây dựng trang web bằng các công nghệ HTML thuần túy phía máy khách . Không bao giờ nhìn xuống, bất kể bạn làm gì

Được rồi, có lẽ bạn nên nhìn xuống; . Nhưng hãy nhớ rằng bạn đã được cảnh báo

Giống như nướng bánh, bạn sẽ cần các nguyên liệu trước khi có thể bắt đầu sử dụng công thức, vì vậy hãy thu thập các công cụ bạn cần cho công việc trước khi bắt đầu xây dựng trang web động đầu tiên của mình. Tôi sẽ trình bày cách tải xuống và cài đặt các gói phần mềm cần thiết trong chương này

Bạn có thể quen với việc tải các tệp tạo nên trang web của mình lên một vị trí cụ thể, chẳng hạn như dịch vụ lưu trữ web mà bạn đã trả tiền, không gian web do nhà cung cấp dịch vụ internet của bạn cung cấp hoặc có thể là máy chủ web do bộ phận CNTT thiết lập . Nếu bạn sao chép các tệp của mình vào bất kỳ vị trí nào trong số này, một chương trình được gọi là máy chủ web sẽ có thể định vị và cung cấp các bản sao của các tệp đó bất cứ khi nào một trình duyệt web như Microsoft Edge, Internet Explorer hoặc Google yêu cầu chúng. Các chương trình phần mềm máy chủ web phổ biến mà bạn có thể đã nghe nói đến bao gồm Máy chủ HTTP Apache (Apache), NGINX và Dịch vụ thông tin Internet

PHP là ngôn ngữ kịch bản phía máy chủ có thể tải xuống và sử dụng miễn phí. Khi cài đặt PHP, máy chủ web của bạn sẽ có thể chạy các chương trình nhỏ được gọi là tập lệnh PHP có thể thực hiện các tác vụ như truy xuất thông tin cập nhật từng phút từ cơ sở dữ liệu và sử dụng nó để tạo nhanh một trang web trước khi gửi đi. Phần lớn cuốn sách này sẽ dành cho việc tạo các tập lệnh PHP để thực hiện điều đó.

Trước tiên, bạn phải có một cơ sở dữ liệu để các tập lệnh PHP của bạn truy xuất dữ liệu từ đó và đó là nơi MySQL xuất hiện. Chúng ta sẽ đi vào chi tiết hơn về chức năng và hoạt động của MySQL sau, nhưng nói một cách ngắn gọn, đó là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) có thể tổ chức và quản lý nhiều dữ liệu một cách hiệu quả trong khi theo dõi xem tất cả dữ liệu đó có liên quan như thế nào . Với các ngôn ngữ kịch bản phía máy chủ như PHP, MySQL cũng giúp truy cập thông tin đó cực kỳ đơn giản. Và, giống như PHP, nó hoàn toàn miễn phí cho hầu hết các mục đích sử dụng

Tôi sẽ cung cấp các hướng dẫn từng bước hoạt động trên các phiên bản Windows, macOS và Linux hiện tại, vì vậy, bất kể bạn đang sử dụng loại máy tính nào, các hướng dẫn bạn cần sẽ có ngay tại đây. Mục tiêu của chương đầu tiên này là giúp bạn thiết lập một máy chủ web được trang bị PHP và MySQL

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Máy chủ web của riêng bạn

Nếu máy chủ web của bạn được trang bị như vậy, thì tin tốt là bạn sẽ có thể xuất bản trang web đầu tiên của mình mà không cần phải tìm máy chủ web hỗ trợ các công nghệ phù hợp. PHP và MySQL có thể đã được cài đặt trên máy chủ lưu trữ web hiện tại của bạn, đó là một trong những lý do khiến PHP và MySQL trở nên phổ biến

Khi tạo các trang web tĩnh, bạn chỉ cần tải các tệp HTML của mình từ ổ cứng vào trình duyệt để xem chúng xuất hiện như thế nào, điều này tốt vì trình duyệt web có thể đọc và hiểu mã HTML mà không cần bất kỳ phần mềm bổ sung nào.

Tuy nhiên, trình duyệt web của bạn cần một số hỗ trợ khi nói đến các trang web động được tạo bằng PHP và MySQL vì trình duyệt web không thể hiểu được các tập lệnh PHP. Thay vào đó, các tập lệnh PHP bao gồm các hướng dẫn để máy chủ web PHP có kinh nghiệm thực thi nhằm tạo mã HTML thân thiện với trình duyệt

Bạn vẫn muốn có thể tự chạy các tập lệnh PHP mà không phải sử dụng máy chủ của người khác, vì vậy bạn sẽ cần thiết lập máy chủ web của riêng mình ngay cả khi bạn đã có máy chủ web hỗ trợ PHP. Nhưng đừng lo, bạn không cần bất kỳ phần cứng mới lạ mắt nào. Từ "máy chủ" có thể khiến bạn hình dung ra một căn phòng lớn, có máy lạnh chứa đầy những chiếc máy tính lớn trên giá đỡ. Máy tính để bàn hoặc máy tính xách tay của bạn sẽ hoạt động mà không gặp sự cố

Bạn chỉ có thể xem kết quả của các tập lệnh PHP trên máy chủ lưu trữ web của mình bằng cách điều hướng đến URI của tệp bạn đã tạo sau khi viết chúng trong trình chỉnh sửa, mở ứng dụng khách FTP hoặc SSH của bạn và tải chúng lên máy chủ. Điều này thật tẻ nhạt và chiếm thời gian quý báu mà lẽ ra bạn có thể sử dụng để viết mã, nhưng nếu bạn mắc lỗi và xảy ra lỗi, bạn sẽ cần phải thay đổi mã, quay lại chương trình FTP của mình, tải lại tệp lên và . Bạn sẽ có thể lưu tệp trong trình chỉnh sửa của mình và xem các thay đổi trong trình duyệt của mình bằng cách làm mới trang bằng cách chạy một máy chủ trên PC của riêng bạn, đây là một lợi ích tiết kiệm thời gian đáng kể (nhưng không phải là duy nhất). lợi ích của việc chạy một máy chủ trên máy tính của bạn, ngay cả khi bạn đã có một máy chủ web đáng tin cậy

Vậy làm thế nào để bạn thiết lập một máy chủ web trên máy tính của mình?

1. Cài đặt thủ công tất cả các thành phần phần mềm cho máy chủ

Máy chủ web là Apache và giống như hầu hết các phần mềm, nó đi kèm với trình cài đặt giúp bạn dễ dàng thiết lập nó trên PC và bắt đầu phục vụ các trang web. Để làm cho nó hoạt động để tạo các trang web PHP, có hàng trăm tùy chọn cấu hình và trừ khi bạn biết mình đang làm gì, có thể mất nhiều thời gian và gây nhầm lẫn

Chỉ riêng một máy chủ web là không đủ cho mục đích chạy các tập lệnh PHP của chúng tôi; . Tương tự như Apache, có rất nhiều tùy chọn và các cấu hình mặc định được thiết kế để chạy một trang web trực tiếp, điều không mong muốn đối với việc phát triển mã vì không có lỗi nào được hiển thị. Nếu bạn mắc lỗi, bạn sẽ nhận được một trang trống không có dấu hiệu cho thấy điều gì đã xảy ra; . Để khắc phục điều này, bạn cần định cấu hình cài đặt PHP theo cách thủ công và sửa đổi cài đặt để hiển thị thông báo lỗi và cung cấp các công cụ khác giúp việc phát triển trở nên thú vị hơn

Ngoài ra, bạn phải thiết lập Apache để giao tiếp với PHP sao cho bất cứ khi nào máy khách kết nối với máy chủ và yêu cầu tệp có phần mở rộng "

sudo systemctl enable docker
sudo systemctl start docker
5", trước tiên, tệp sẽ được gửi tới PHP để xử lý

Bạn cũng sẽ cần MySQL, vì vậy bạn sẽ cần cài đặt và định cấu hình thủ công nếu bạn muốn làm theo cuốn sách này

Ngay cả khi bạn là một chuyên gia, bạn sẽ mất ít nhất một giờ để mọi thứ hoạt động vì mỗi Apache, MySQL và PHP đều có hàng tá tùy chọn cấu hình

Khả năng cấu hình máy chủ chắc chắn là một kỹ năng hữu ích, nhưng nó không giúp bạn học cách lập trình bằng PHP — đó là điều bạn thực sự quan tâm nếu bạn đang đọc cuốn sách này. Cài đặt thủ công đòi hỏi một lượng kiến ​​thức hoặc nghiên cứu đáng kể và nằm ngoài phạm vi của cuốn sách này

Nếu bạn thực sự muốn cài đặt và định cấu hình thiết lập của mình theo cách thủ công, hãy xem hướng dẫn cài đặt PHP trên Windows của chúng tôi. Tùy chọn này không dành cho người yếu tim và ngay cả đối với các chuyên gia dày dặn kinh nghiệm cũng rất dễ bỏ lỡ một số cài đặt quan trọng. Tuy nhiên, có một số tùy chọn tuyệt vời nếu bạn không muốn lo lắng về việc cài đặt và định cấu hình riêng từng phần mềm thay thế

Thiết lập máy chủ 2. Cài đặt đóng gói sẵn

Do những khó khăn khi cài đặt thủ công, các nhà phát triển đã tạo các bản cài đặt đóng gói sẵn, bao gồm một trình cài đặt duy nhất thiết lập PHP, Apache, MySQL và các chương trình thích hợp khác với các cài đặt phù hợp. Ví dụ nổi tiếng nhất của loại gói này là XAMPP. Các lựa chọn thay thế cho X (bất kỳ hệ điều hành nào), Apache, MySQL (hay cụ thể hơn là MariaDB, một "nhánh" của MySQL với giấy phép tốt hơn), PHP và Perl bao gồm WAMP (Windows, Apache, MySQL và PHP), LAMP (

Điều này rõ ràng là đơn giản hơn nhiều so với cài đặt thủ công từng phần mềm và nó không yêu cầu bạn học cách định cấu hình máy chủ của mình, nhưng vẫn có một số vấn đề bạn có thể gặp phải với phương pháp này, được liệt kê bên dưới

  • Mặc dù Apache, MySQL và PHP hoạt động trong Windows, Linux hoặc macOS, nhưng có một số khác biệt đáng kể giữa cách thức hoạt động của các hệ điều hành, vì vậy máy chủ lưu trữ web của bạn có thể đang chạy Linux nhưng PC của bạn có thể không chạy.
    sudo systemctl enable docker
    sudo systemctl start docker
    
    6 giống với
    sudo systemctl enable docker
    sudo systemctl start docker
    
    0 và
    sudo systemctl enable docker
    sudo systemctl start docker
    
    1 trong Windows vì tên tệp không phân biệt chữ hoa chữ thường, nhưng điều này gần như chắc chắn không xảy ra trên máy chủ lưu trữ web của bạn. Bởi vì các tệp đang được tham chiếu trong mã với trường hợp không chính xác, điều này thường dẫn đến sự cố trong đó tập lệnh hoạt động hoàn hảo trên máy chủ phát triển Windows của bạn không hoạt động sau khi được tải lên
  • Ngay cả khi bạn không tạo phần mềm, các máy chủ như Apache và MySQL sẽ chạy ẩn và tiêu tốn RAM cũng như sức mạnh xử lý
  • Mặc dù các bản sửa lỗi bảo mật không phải là ưu tiên đối với máy tính phát triển (bạn không nên cho phép mọi người truy cập nó trên Web), phần mềm đóng gói sẵn luôn hơi lỗi thời Nếu máy chủ lưu trữ web của bạn đang sử dụng phiên bản PHP mới hơn phiên bản của bạn. . Ngoài ra, nếu bạn không sử dụng các phiên bản mới nhất, các nhà phát triển muốn thử nghiệm các tính năng mới khi chúng được phát hành

Bản cài đặt đóng gói sẵn tốt hơn nhiều so với bản cài đặt, nhưng do những vấn đề này, chúng không lý tưởng. May mắn thay, có một phương pháp thậm chí còn tốt hơn

Thiết lập máy chủ 3. máy chủ ảo

Một "máy chủ ảo", có chức năng giống như một máy chủ web trên một máy tính khác, là cách thứ ba để khởi động và chạy máy chủ. Bạn có thể kết nối với máy tính này từ PC của mình và truy cập nó bằng bất kỳ hệ điều hành nào như thể nó được đặt ở một nơi khác trên thế giới

Là một nhà phát triển web, bạn có thể quen thuộc với các công cụ như phần mềm ảo hóa hiện đại như VirtualBox và các công cụ do VMware cung cấp. tức là một dịch vụ hữu ích do Microsoft cung cấp cho phép bạn tải xuống các máy ảo chạy các phiên bản khác nhau của Windows, Microsoft Edge và Internet Explorer. Ví dụ: nếu bạn muốn xem trang web của mình xuất hiện như thế nào trong Internet Explorer 8 trên Windows XP, bạn có thể tải xuống máy ảo có liên quan và chạy nó trong Cửa sổ trên máy tính để bàn Windows 10/macOS/Linux mà không cần phải thực sự cài đặt và chạy Windows

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Bạn có thể sử dụng phần mềm như VirtualBox để chạy một hệ điều hành bên trong một hệ điều hành khác, chẳng hạn như bạn có thể chạy Windows 7 trong một máy ảo để kiểm tra Internet Explorer 8. Chúng tôi có thể chạy một máy chủ web Linux có cài đặt PHP, Apache và MySQL trên Windows hoặc macOS của chúng tôi

Điều này cho phép bạn sử dụng chính xác các phiên bản PHP, MySQL và Apache đang được máy chủ lưu trữ web của bạn sử dụng trên cùng một hệ điều hành, ngăn ngừa mọi sự cố có thể tồn tại do sự khác biệt về phiên bản hoặc sự khác biệt về khả năng tương thích của hệ điều hành

Một trong những lợi ích lớn nhất là bạn có thể tải xuống các máy ảo được cấu hình sẵn, chẳng hạn như máy ảo Windows XP và Internet Explorer 8 do Microsoft cung cấp hoặc máy ảo đã cài đặt và cấu hình PHP, Apache và MySQL để hoạt động cùng nhau

Hạn chế của tất cả những điều này là cần phải cài đặt toàn bộ hệ điều hành để chạy mã của bạn, điều này dẫn đến việc tải xuống bổ sung. Để chuyển từ PHP 7 sang PHP 8, yêu cầu tải xuống một bản sao hoàn toàn mới của hệ điều hành và các gói bị khóa đối với bất kỳ thứ gì được cung cấp bởi máy ảo mà bạn tải xuống

Thiết lập máy chủ 4. docker

Mỗi ứng dụng (hoặc "dịch vụ" theo thuật ngữ của Docker) chạy trong môi trường biệt lập của riêng nó được gọi là vùng chứa, đây là công nghệ dựa trên ảo hóa

Nhà phát triển phần mềm có thể sử dụng Docker để cung cấp tệp cấu hình liệt kê tất cả ứng dụng họ cần để chạy ứng dụng, chẳng hạn như PHP, MySQL, Apache và các chương trình khác

Khi bạn khởi chạy ứng dụng, Docker sẽ tự động tải xuống và cài đặt mọi phần mềm được liệt kê trong tệp cấu hình, coi nó như thể đó là ứng dụng của riêng nó

Có rất nhiều lợi thế và chi phí thấp hơn nhiều so với bạn có thể dự đoán

  • Khi bạn làm cho trang web của mình hoạt động, bạn có thể tải lên tất cả các tệp cấu hình cùng với trang web vì cấu hình máy chủ được cung cấp như một phần của ứng dụng. Trong thiết lập thông thường, bạn sẽ phải định cấu hình và thiết lập máy chủ web theo cách thủ công
  • Không có Docker thì thường có 1 phiên bản PHP được cài đặt với 1 cấu hình duy nhất áp dụng cho tất cả các website chạy trên máy. Nhiều trang web có thể chạy đồng thời trên máy phát triển của bạn, với các cấu hình khác nhau và thậm chí cả phần mềm máy chủ khác nhau (ví dụ: một trang web sử dụng Apache, một trang web khác sử dụng NGINX)
  • Nếu bạn muốn chuyển một trang web từ PHP 7 sang PHP 8, chỉ cần một thay đổi trong một tệp và bạn có thể thực hiện việc đó trên mỗi trang web thay vì yêu cầu nâng cấp lên tất cả các trang web của mình cùng một lúc

Tùy chọn tốt nhất ngay bây giờ để thiết lập môi trường phát triển PHP là Docker; . "

Bắt đầu

Tôi đã cung cấp tất cả cấu hình cho bạn, nhưng trước khi bắt đầu, bạn cần cài đặt Docker. Chúng tôi sẽ thiết lập môi trường phát triển bằng Docker trước khi viết bất kỳ mã PHP nào và phát triển trang web của bạn

Cài đặt trên Windows

Trước tiên, hãy truy cập trang web Docker và tải xuống và cài đặt phiên bản Docker mới nhất cho Windows

Tạo một thư mục trên máy tính nơi bạn muốn lưu trữ trang web của mình sau khi cài đặt Docker (và khởi động lại nếu được nhắc). Bạn có thể lưu trữ nó trên máy tính để bàn, ổ cứng ngoài, thư mục

sudo systemctl enable docker
sudo systemctl start docker
2 của bạn và những nơi khác, nhưng hãy chắc chắn rằng bạn biết nó ở đâu vì bạn sẽ cần truy cập nó thường xuyên

Windows 10 giúp việc mở một thiết bị đầu cuối trở nên đơn giản, đây là một kỹ năng khác mà bạn sẽ cần. Đảm bảo rằng bạn thực hiện việc này từ menu Tệp chứ không phải menu bắt đầu, vì nhấp vào nó từ Tệp sẽ mở dấu nhắc lệnh trong thư mục bạn đã chọn, với thư mục được mở trong trình khám phá tệp, hãy chọn menu Tệp ở trên cùng bên trái của cửa sổ

Mở PowerShell và đảm bảo đường dẫn mà nó hiển thị là đường dẫn bạn muốn, chẳng hạn như

sudo systemctl enable docker
sudo systemctl start docker
3, trước khi chuyển sang phần "Bắt đầu với Docker" bên dưới

Tại thời điểm viết bài (tháng 9 năm 2021), PowerShell đã được đổi tên thành Windows Terminal và được truy cập theo một cách khác trong bản dựng xem trước gần đây nhất của Windows 11

  1. Bạn chỉ có thể mở và đóng chương trình để kích hoạt cài đặt theo cách thủ công bằng cách khởi động ứng dụng Windows Terminal từ menu bắt đầu một lần. Thật không thể tin được, Microsoft đã thiết kế Windows 11 để khởi động một chương trình sẽ kích hoạt cài đặt bí mật trong một chương trình khác và nếu bạn bỏ qua bước này, mục menu bước thứ ba sẽ bị thiếu
  2. File Explorer có thể được sử dụng để truy cập thư mục của bạn
  3. Mở trong Windows Terminal bằng cách thực hiện nhấp chuột phải vào bảng điều khiển chính (nơi có thông báo "Thư mục này trống")

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Lưu ý rằng sau khi Windows 11 được phát hành và cuốn sách này đã được xuất bản, những hướng dẫn này có thể đã thay đổi

Cài đặt trên macOS

Cài đặt Docker cho macOS trước bằng cách tải xuống từ trang web Docker

Tạo một thư mục trên máy tính của bạn, nơi bạn muốn lưu trữ trang web của mình sau khi cài đặt Docker (và khởi động lại nếu được nhắc). Mặc dù bạn sẽ cần quay lại thư mục này thường xuyên, nhưng hãy đảm bảo rằng bạn biết nó ở đâu. Ví dụ về các vị trí bao gồm thư mục

sudo systemctl enable docker
sudo systemctl start docker
2 của bạn, máy tính để bàn, ổ cứng ngoài, v.v.

Nếu bạn cảm thấy thoải mái khi sử dụng thiết bị đầu cuối để điều hướng xung quanh máy tính của mình, bạn có thể bỏ qua bước này, nhưng để thuận tiện, tôi khuyên bạn nên bật tính năng cho phép bạn mở thiết bị đầu cuối trong thư mục hiện tại

  1. mở Tùy chọn hệ thống
  2. đi tới Bàn phím
  3. chọn tab Phím tắt
  4. nhấp vào nút Dịch vụ
  5. hộp được đánh dấu "Thiết bị đầu cuối mới tại thư mục"

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Với điều này được kích hoạt

  1. Chấp nhận các điều khoản bằng cách khởi chạy ứng dụng Docker từ thư mục
    sudo systemctl enable docker
    sudo systemctl start docker
    
    5
  2. quay lại Finder
  3. truy cập thư mục nơi bạn muốn giữ trang web của mình
  4. Chọn Dịch vụ từ menu nội dung bằng cách thực hiện nhấp chuột phải (nhấp chuột điều khiển) vào tên thư mục, sau đó chọn Thiết bị đầu cuối mới tại thư mục

Bây giờ, bạn có thể chuyển sang phần "Bắt đầu với Docker" bên dưới khi thiết bị đầu cuối này đang mở

Nếu bạn muốn bắt đầu hoặc dừng máy chủ của mình trong tương lai, bạn chỉ cần lặp lại các bước gần đây nhất

Cài đặt trên Linux

Docker thực sự là một chương trình Linux theo thiết kế và Linux thường làm cho việc cài đặt phần mềm trở nên rất đơn giản. Trên hầu hết các bản phân phối, bạn có thể cài đặt Docker thông qua trình quản lý gói của mình, nhưng bạn có thể cần thiết lập kho lưu trữ gói tùy chỉnh

Có một tập lệnh cài đặt tạo một kho lưu trữ duy nhất và cài đặt Docker cho các bản phân phối dựa trên RedHat (RedHat, CentOS, Fedora) và các bản phân phối dựa trên Debian (Debian, Ubuntu, Mint và KDE Neon)

_16

Xem hướng dẫn sử dụng Docker để biết hướng dẫn cụ thể cho bản phân phối của bạn

Khi Docker được thiết lập, bạn phải sử dụng các lệnh này để kích hoạt và khởi chạy dịch vụ

_10

Cuối cùng, bạn có thể tham gia nhóm

sudo systemctl enable docker
sudo systemctl start docker
6 để tránh sử dụng dịch vụ
sudo systemctl enable docker
sudo systemctl start docker
7 để chạy các ứng dụng Docker

________mười

Bạn phải đăng xuất và đăng nhập lại để thay đổi nhóm người dùng, vì vậy hãy làm điều đó. Khi bạn quay lại, bạn có thể khởi chạy thiết bị đầu cuối sau khi lưu mọi tệp đang mở

Tạo một thư mục trên máy tính của bạn, bất cứ nơi nào bạn thích, nơi bạn muốn lưu trữ trang web của mình sau khi đăng nhập lại. Bạn có thể lưu trữ tệp này trên máy tính để bàn, ổ cứng ngoài, thư mục

sudo systemctl enable docker
sudo systemctl start docker
8 của bạn hoặc một vị trí khác;

Nhấp chuột phải vào thư mục trong trình quản lý tệp của bạn và chọn Mở Terminal. Trong trình quản lý tệp Dolphin, bạn có thể thực hiện việc này nhưng tùy thuộc vào trình quản lý tệp bạn đang sử dụng, tùy chọn này có thể ở một vị trí khác hoặc có một tên khác

Bắt đầu với Docker

Đã đến lúc chạy một số lệnh Docker khi bạn đã cài đặt tất cả phần mềm cần thiết và thiết bị đầu cuối của bạn đang mở ở vị trí thích hợp

Tôi đã cung cấp một số cấu hình dựa trên bài viết mà tôi đã liên kết trước đó;

đầu tiên, sử dụng lệnh này để sao chép cấu hình

________thứ mười hai

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Thư mục cần trống để lệnh này hoạt động, vì vậy hãy đảm bảo không có tệp hoặc thư mục con nào trong thư mục mà bạn đang cố chạy lệnh này từ đó. Lệnh này tải xuống một số tệp cấu hình từ kho lưu trữ GitHub và sao chép chúng vào thư mục hiện tại

Rất nhiều dự án nguồn mở sử dụng dịch vụ lưu trữ mã nguồn GitHub. Trong trường hợp này, mã đang được tải xuống từ github, đây là tên được đặt cho một dự án. com/v-je/docker

Mẹo. Tại thời điểm này, bạn chỉ cần chạy lệnh sau nếu bạn đã cài đặt Git. Tuy nhiên, tôi tạo một tập lệnh cài đặt để giải quyết vấn đề này cho bạn thay vì yêu cầu mỗi người đọc cuốn sách này cài đặt Git cho một lệnh duy nhất

Bạn chỉ cần chạy lệnh này một lần và sau khi chạy xong, bạn sẽ thấy một số tệp cấu hình trong thư mục của mình. Vui lòng duyệt các tệp được tạo. Máy chủ web được cấu hình bởi

sudo systemctl enable docker
sudo systemctl start docker
00;

Bạn không cần phải hiểu những tập tin này;

Trước khi tiếp tục, điều quan trọng cần lưu ý là môi trường chúng ta vừa thiết lập sử dụng NGINX chứ không phải Apache. Máy chủ web, là Apache nếu bạn đang sử dụng XAMPP hoặc gói tương tự, là thành phần của máy chủ đáp ứng các yêu cầu từ trình duyệt web và gửi tệp cho chúng

Mặc dù Apache hoạt động tốt và hoạt động tốt, nhưng nó đã xuất hiện từ rất lâu và Web rất khác khi nó được phát triển lần đầu tiên. Web đã thay đổi đáng kể kể từ khi Apache được tạo ra, và mặc dù nó vẫn là một máy chủ có khả năng và sẽ hoạt động tốt, hầu hết các trang web ngày nay có xu hướng sử dụng NGINX thay vì Apache vì nó lớn hơn và có nhiều tính năng khác nhau đã xuất hiện và biến mất nhưng Apache . Nó đơn giản hơn để thiết lập, nhẹ hơn và phù hợp hơn cho các loại tác vụ mà nhiều trang web hiện đại sử dụng (như truyền phát video);

Khuyến nghị chung của tôi là sử dụng NGINX nếu bạn đang bắt đầu một dự án mới từ đầu thay vì gặp rắc rối khi chuyển từ Apache nếu bạn đã có một trang web chạy trên đó

Chạy lệnh bên dưới để hướng dẫn Docker tải xuống và chạy tất cả các chương trình liên quan đến máy chủ sau khi bạn đã tải xuống các tệp cấu hình máy chủ

sudo systemctl enable docker
sudo systemctl start docker
7

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Lưu ý rằng lệnh

sudo systemctl enable docker
sudo systemctl start docker
03 trước đây là một chương trình riêng biệt có tên là
sudo systemctl enable docker
sudo systemctl start docker
04 vì những lý do kỹ thuật tẻ nhạt không đáng để đi sâu vào đây. Tuy nhiên, nếu bạn đang sử dụng bản phân phối Linux cũ hơn hoặc sử dụng phiên bản Docker Desktop cũ hơn, bạn có thể cần thay thế
sudo systemctl enable docker
sudo systemctl start docker
03 bằng
sudo systemctl enable docker
sudo systemctl start docker
04 trong tất cả các lệnh
sudo systemctl enable docker
sudo systemctl start docker
03 vì chức năng này hiện đã được chuyển vào chính Docker.
sudo systemctl enable docker
sudo systemctl start docker
08 chỉ nên có sự thay thế này;

Khi chạy

sudo systemctl enable docker
sudo systemctl start docker
20, bạn có thể gặp lỗi sau

sudo systemctl enable docker
sudo systemctl start docker
6

Nếu trường hợp này xảy ra, bạn phải thay thế lệnh bằng

sudo systemctl enable docker
sudo systemctl start docker
21 và nếu bạn sử dụng Linux, bạn cũng có thể phải cài đặt gói
sudo systemctl enable docker
sudo systemctl start docker
04 riêng biệt bằng trình quản lý gói của mình

Các thành phần chính mà chúng tôi quan tâm trong thời điểm hiện tại là PHP, NGINX và MariaDB. Lệnh

sudo systemctl enable docker
sudo systemctl start docker
03 tải
sudo systemctl enable docker
sudo systemctl start docker
02, sau đó tải xuống và cài đặt tất cả phần mềm được liệt kê là dịch vụ

Đừng lo lắng, điều này chỉ xảy ra khi bạn chạy lệnh này lần đầu tiên; . Sau khi tải xuống và cài đặt phần mềm, việc khởi động máy chủ trong tương lai sẽ đơn giản hơn nhiều

Máy chủ chỉ được khởi động khi bạn muốn bằng cách chạy

sudo systemctl enable docker
sudo systemctl start docker
20 và bạn có thể dừng máy chủ bất kỳ lúc nào bằng cách quay lại thiết bị đầu cuối và nhấn Ctrl + C. Điều này không giống như sử dụng cài đặt thủ công NGINX/PHP/MySQL trực tiếp trên PC của bạn

Ngoài ra, bạn có thể sử dụng lệnh này để khởi động máy chủ ở chế độ nền

sudo systemctl enable docker
sudo systemctl start docker
2

Chạy _

sudo systemctl enable docker
sudo systemctl start docker
26 từ thiết bị đầu cuối của bạn để dừng máy chủ (bạn phải mở thiết bị đầu cuối trong thư mục thích hợp để khởi động và dừng máy chủ). )

Quy trình tương tự có thể được sử dụng để khởi động và dừng máy chủ mỗi khi bạn muốn làm việc trên trang web

  1. truy cập vào thư mục mà bạn đã tạo
  2. như trước, hãy khởi chạy Windows PowerShell hoặc thiết bị đầu cuối của bạn
  3. chạy
    sudo systemctl enable docker
    sudo systemctl start docker
    
    27

Khi hoàn tất, sử dụng quy trình tương tự để chấm dứt máy chủ

  1. truy cập vào thư mục mà bạn đã tạo
  2. như trước, hãy khởi chạy Windows PowerShell hoặc thiết bị đầu cuối của bạn
  3. chạy
    sudo systemctl enable docker
    sudo systemctl start docker
    
    26

Ngoài ra, bạn có thể chỉ cần mở cửa sổ và thực hiện bước 3 nếu bạn để thiết bị đầu cuối chạy ngầm

Lời khuyên. Lệnh

sudo systemctl enable docker
sudo systemctl start docker
26 xóa và dừng mọi dịch vụ đang chạy để giải phóng dung lượng ổ đĩa. Ngoài ra, nó đòi hỏi sự sáng tạo của họ mỗi lần

Để dừng và khởi động máy chủ, bạn cũng có thể sử dụng

sudo systemctl enable docker
sudo systemctl start docker
70 và
sudo systemctl enable docker
sudo systemctl start docker
71, nhưng những thứ này phụ thuộc vào mạng, vùng chứa và những thứ khác mà Docker xây dựng trong nền được duy trì giữa các lần thực thi. Chúng có thể được loại bỏ bằng cách khôi phục hệ thống, truyền tệp giữa các máy tính hoặc thậm chí bằng cách sử dụng các lệnh Docker khác cho các mục đích khác (hãy cẩn thận với
sudo systemctl enable docker
sudo systemctl start docker
72)

Nó yêu cầu xóa khi không sử dụng và tạo lại khi bạn sử dụng, nhưng sử dụng

sudo systemctl enable docker
sudo systemctl start docker
73 và
sudo systemctl enable docker
sudo systemctl start docker
74 sẽ sử dụng phương pháp phương tiện chặn trống và luôn đáng tin cậy. Nhưng đừng lo lắng, không có tệp PHP, JavaScript hoặc CSS nào bạn đặt trong thư mục bạn đã tạo sẽ bị xóa

Tạo tệp đầu tiên của bạn và kết nối với máy chủ

Sau khi máy chủ hoạt động, bạn có thể kết nối với nó bằng trình duyệt web ưa thích của mình vì nó hoạt động giống như một máy chủ web chính hãng đang chạy ở đâu đó trên Internet. Bằng cách khởi chạy trình duyệt của bạn, nhập

sudo systemctl enable docker
sudo systemctl start docker
75 vào thanh địa chỉ và nhấp Enter, bạn có thể truy cập nó

Bạn sẽ thấy một trang thử nghiệm tương tự như trang được hiển thị bên dưới

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Khi bạn thực hiện lệnh

sudo systemctl enable docker
sudo systemctl start docker
21, một thư mục có tên
sudo systemctl enable docker
sudo systemctl start docker
77 sẽ tự động được tạo trong thư mục mà lệnh được thực thi. Bây giờ máy chủ đã hoạt động, đã đến lúc tạo tệp đầu tiên của bạn. Các tệp được sử dụng cho trang kiểm tra trong ảnh chụp màn hình trước được đặt trong thư mục
sudo systemctl enable docker
sudo systemctl start docker
78

Tạo một tệp có tên

sudo systemctl enable docker
sudo systemctl start docker
79 trong thư mục ___178 với mã sau bằng trình soạn thảo văn bản ưa thích của bạn

sudo systemctl enable docker
sudo systemctl start docker
8

Theo mặc định (sau này chúng ta sẽ thấy rằng điều này có thể bị ghi đè), một URL ánh xạ trực tiếp tới một tệp và giờ đây bạn có thể xem trang web của mình trên máy chủ. Các tập tin thậm chí có thể được đặt trong các thư mục con;

Dấu. Bạn có thể thắc mắc tại sao lại có ba cấp thư mục thay vì chỉ có thư mục

sudo systemctl enable docker
sudo systemctl start docker
62 với các tệp trong đó.
sudo systemctl enable docker
sudo systemctl start docker
77,
sudo systemctl enable docker
sudo systemctl start docker
69 và
sudo systemctl enable docker
sudo systemctl start docker
62

Môi trường được thiết lập để lưu trữ nhiều trang web từ nhiều thư mục khác nhau bên trong thư mục

sudo systemctl enable docker
sudo systemctl start docker
77 mới được tạo, vì vậy để tạo một trang web mới có thể truy cập tại
sudo systemctl enable docker
sudo systemctl start docker
23, hãy làm theo các hướng dẫn sau

  1. Tạo thư mục
    sudo systemctl enable docker
    sudo systemctl start docker
    
    24 bên trong thư mục
    sudo systemctl enable docker
    sudo systemctl start docker
    
    77
  2. Tạo thư mục
    sudo systemctl enable docker
    sudo systemctl start docker
    
    62 bên trong thư mục
    sudo systemctl enable docker
    sudo systemctl start docker
    
    24
  3. Tệp trong
    sudo systemctl enable docker
    sudo systemctl start docker
    
    29 sẽ có thể truy cập được tại URL
    sudo systemctl enable docker
    sudo systemctl start docker
    
    80 nếu bạn đặt nó trong thư mục
    sudo systemctl enable docker
    sudo systemctl start docker
    
    28, chẳng hạn

Nếu không có tên miền phụ nào được chỉ định và bạn chỉ cần truy cập

sudo systemctl enable docker
sudo systemctl start docker
75, trang web sẽ tải từ thư mục
sudo systemctl enable docker
sudo systemctl start docker
69. Bất kỳ thư mục nào bạn tạo bên trong thư mục
sudo systemctl enable docker
sudo systemctl start docker
77 đều được coi là tên miền phụ của
sudo systemctl enable docker
sudo systemctl start docker
7

Mỗi trang web có một thư mục

sudo systemctl enable docker
sudo systemctl start docker
62 bởi vì, như chúng ta sẽ thấy ở phần sau của cuốn sách, cách tốt nhất là giữ một số tệp bên ngoài thư mục
sudo systemctl enable docker
sudo systemctl start docker
62 để bảo mật

Cần lưu ý rằng các trình soạn thảo văn bản do hệ điều hành cung cấp như Notepad và TextEdit không thực sự phù hợp để chỉnh sửa các tập lệnh HTML và PHP. Tuy nhiên, có một số trình soạn thảo văn bản tốt với sự hỗ trợ rộng rãi để chỉnh sửa các tập lệnh PHP mà bạn có thể tải xuống miễn phí và sử dụng trên Windows, macOS và Linux. Ở đây có một ít

  • (Hướng dẫn Bắt đầu cho Visual Studio Code)
  • Atom (Hướng dẫn bắt đầu)
  • Văn bản tuyệt vời (Tài liệu)

Bất kỳ một trong số này đều là một lựa chọn tốt cho mục đích của cuốn sách này và sẽ giúp cuộc sống của bạn với tư cách là một nhà phát triển dễ dàng hơn nhiều so với Notepad hoặc TextEdit

Chúng tôi đã sẵn sàng

Tôi chỉ trình bày các nguyên tắc cơ bản để nhanh chóng đi vào nội dung cốt lõi của cuốn sách này, vì vậy bây giờ bạn đã biết cách lưu trữ tệp HTML trên máy chủ và cách thiết lập môi trường phát triển PHP của mình với Docker. Tuy nhiên, với tư cách là một nhà phát triển PHP, bản thân việc có một quy trình phát triển tốt là một kỹ năng. Tuy nhiên, với mục đích của chúng tôi, máy chủ đang hoạt động và bạn đã chuẩn bị để tạo tập lệnh PHP đầu tiên của mình, chúng tôi sẽ thực hiện điều này trong chương sau, Hướng dẫn cho người mới bắt đầu về PHP

Chia sẻ bài viết này

tom quản gia

Với bằng tiến sĩ về các phương pháp hay nhất về công nghệ phần mềm, Tom Butler, nhà phát triển web và giảng viên đại học, thích so sánh các cách tiếp cận khác nhau để giải quyết các thách thức về viết mã

Bài viết sau đây là một đoạn trích từ PHP & MySQL. Novice to Ninja, Phiên bản thứ 7, hướng dẫn thực hành để tìm hiểu tất cả các công cụ, nguyên tắc và kỹ thuật cần thiết để xây dựng một ứng dụng web chuyên nghiệp. Trong hướng dẫn đầu tiên của loạt bài này, chúng tôi đề cập đến cách thiết lập môi trường phát triển PHP của bạn với Docker


  • Thiết lập môi trường phát triển PHP của bạn với Docker
  • Hướng dẫn cho người mới bắt đầu về PHP
  • Giới thiệu MySQL. Hướng dẫn cho người mới bắt đầu
  • Hiển thị dữ liệu từ MySQL trên Web. một lời giới thiệu

Trong cuốn sách này, tôi sẽ hướng dẫn bạn khi bạn thực hiện những bước đầu tiên vượt ra ngoài thế giới tĩnh của việc xây dựng các trang web bằng các công nghệ thuần túy phía máy khách gồm HTML, CSS và JavaScript. Cùng nhau, chúng ta sẽ khám phá thế giới xây dựng trang web và khám phá vô số công cụ động, khái niệm và khả năng mà chúng mở ra. Dù bạn làm gì, đừng nhìn xuống

Được rồi, có lẽ bạn nên nhìn xuống. Rốt cuộc, đó là nơi mà phần còn lại của cuốn sách này. Nhưng hãy nhớ rằng, bạn đã được cảnh báo

Trước khi xây dựng trang web động đầu tiên của mình, bạn phải tập hợp các công cụ cần thiết cho công việc. Giống như nướng bánh, bạn sẽ cần nguyên liệu trước khi có thể bắt đầu làm theo công thức. Trong chương này, tôi sẽ chỉ cho bạn cách tải xuống và thiết lập các gói phần mềm cần thiết

Nếu bạn đã quen với việc xây dựng các trang web bằng HTML, CSS và thậm chí có thể là một chút JavaScript, thì có lẽ bạn đã quen với việc tải các tệp tạo nên trang web của mình lên một vị trí nhất định. Đó có thể là dịch vụ lưu trữ web mà bạn đã trả tiền, không gian web do nhà cung cấp dịch vụ internet của bạn cung cấp hoặc có thể là máy chủ web do bộ phận CNTT của công ty bạn làm việc thiết lập. Trong mọi trường hợp, khi bạn sao chép các tệp của mình tới bất kỳ đích nào trong số này, một chương trình phần mềm được gọi là máy chủ web có thể tìm và cung cấp các bản sao của các tệp đó bất cứ khi nào chúng được yêu cầu bởi một trình duyệt web như Microsoft Edge, Internet Explorer, Google . Các chương trình phần mềm máy chủ web phổ biến mà bạn có thể đã nghe nói đến bao gồm Máy chủ HTTP Apache (Apache), NGINX và Dịch vụ thông tin Internet

PHP là ngôn ngữ kịch bản phía máy chủ. Nó hoàn toàn miễn phí để tải về và sử dụng. Bạn có thể coi nó như một plugin cho máy chủ web của mình, cho phép nó làm được nhiều việc hơn là chỉ gửi các bản sao chính xác của các tệp được trình duyệt web yêu cầu. Khi cài đặt PHP, máy chủ web của bạn sẽ có thể chạy các chương trình nhỏ — được gọi là tập lệnh PHP — có thể thực hiện các tác vụ như truy xuất thông tin cập nhật từng phút từ cơ sở dữ liệu và sử dụng nó để tạo nhanh một trang web trước khi gửi đi. . Phần lớn cuốn sách này sẽ tập trung vào việc viết các tập lệnh PHP để thực hiện chính xác điều đó

Để các tập lệnh PHP của bạn truy xuất thông tin từ cơ sở dữ liệu, trước tiên bạn phải có cơ sở dữ liệu. Đó là nơi MySQL xuất hiện. MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ, hoặc RDBMS. Chúng ta sẽ thảo luận về vai trò chính xác của nó và cách nó hoạt động sau, nhưng ngắn gọn, đây là một chương trình phần mềm có thể sắp xếp và quản lý nhiều thông tin một cách hiệu quả trong khi vẫn theo dõi được tất cả các thông tin đó liên quan với nhau như thế nào. MySQL cũng làm cho thông tin đó thực sự dễ dàng truy cập bằng các ngôn ngữ kịch bản phía máy chủ như PHP. Và, giống như PHP, nó hoàn toàn miễn phí cho hầu hết các mục đích sử dụng

Mục tiêu của chương đầu tiên này là giúp bạn thiết lập một máy chủ web được trang bị PHP và MySQL. Tôi sẽ cung cấp các hướng dẫn từng bước hoạt động trên các phiên bản Windows, macOS và Linux gần đây, vì vậy, bất kể bạn đang sử dụng loại máy tính nào, các hướng dẫn bạn cần sẽ có ngay tại đây

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Máy chủ web của riêng bạn

Rất có thể, máy chủ web hiện tại của máy chủ lưu trữ web của bạn đã cài đặt PHP và MySQL — đó là một trong những lý do khiến PHP và MySQL trở nên phổ biến. Nếu máy chủ web của bạn được trang bị như vậy, thì tin tốt là bạn sẽ có thể xuất bản trang web đầu tiên của mình mà không cần phải mua máy chủ web hỗ trợ các công nghệ phù hợp

Khi phát triển các trang web tĩnh, bạn chỉ cần tải trực tiếp các tệp HTML của mình từ đĩa cứng vào trình duyệt để xem chúng trông như thế nào. Không có phần mềm máy chủ web nào liên quan khi bạn làm điều này, điều này không sao cả, bởi vì các trình duyệt web có thể tự đọc và hiểu mã HTML

Tuy nhiên, khi nói đến các trang web động được xây dựng bằng PHP và MySQL, trình duyệt web của bạn cần một số trợ giúp. Trình duyệt web không thể hiểu các tập lệnh PHP. Thay vào đó, các tập lệnh PHP chứa các hướng dẫn để máy chủ web hiểu biết về PHP thực thi để tạo mã HTML mà trình duyệt có thể hiểu được

Ngay cả khi bạn có một máy chủ web hỗ trợ PHP, bạn vẫn muốn có thể tự chạy các tập lệnh PHP mà không cần sử dụng máy chủ của người khác. Đối với điều này, bạn sẽ cần thiết lập máy chủ web của riêng mình. Từ “máy chủ” có thể khiến bạn liên tưởng đến một căn phòng lớn, có điều hòa, chứa đầy những chiếc máy tính lớn trên giá đỡ. Nhưng đừng lo, bạn không cần bất kỳ phần cứng mới lạ mắt nào. Máy tính xách tay hoặc máy tính để bàn của bạn sẽ hoạt động tốt

Để chạy các tập lệnh PHP trên máy chủ lưu trữ web của bạn, bạn cần viết chúng trong trình chỉnh sửa của mình, mở ứng dụng khách FTP hoặc SSH và tải chúng lên máy chủ. Chỉ sau đó, bạn mới có thể thấy kết quả trong trình duyệt của mình bằng cách điều hướng đến URI của tệp bạn đã tạo. Nếu bạn mắc lỗi và xảy ra lỗi, bạn sẽ cần thay đổi mã, quay lại chương trình FTP của mình, tải tệp lên lại rồi tải lại trang. Điều này thật tẻ nhạt và sử dụng hết thời gian quý báu mà bạn có thể sử dụng để viết mã. Bằng cách chạy một máy chủ trên PC của riêng bạn, bạn sẽ có thể lưu tệp trong trình chỉnh sửa của mình và xem các thay đổi trong trình duyệt của mình chỉ bằng cách làm mới trang — không cần tải tệp lên. Đây là một trình tiết kiệm thời gian thực và là một trong những trình tiết kiệm lớn nhất (mặc dù không chỉ. ) lợi ích của việc chạy một máy chủ trên PC của bạn — ngay cả khi bạn đã có một máy chủ lưu trữ web hoàn toàn tốt

Vậy làm cách nào để bạn có được một máy chủ web chạy trên PC của mình?

Thiết lập máy chủ 1. Cài đặt thủ công tất cả các thành phần phần mềm

Apache là một máy chủ web và giống như hầu hết các phần mềm, nó đi kèm với trình cài đặt cho phép bạn dễ dàng thiết lập nó trên PC của mình. Không cần nỗ lực nhiều, bạn có thể yêu cầu nó phục vụ các trang web. Tuy nhiên, có hàng trăm tùy chọn cấu hình và trừ khi bạn biết mình đang làm gì, nếu không việc làm cho nó hoạt động để phát triển các trang web PHP có thể tốn thời gian và khó hiểu

Đối với mục đích chạy các tập lệnh PHP của chúng tôi, một máy chủ web thôi là không đủ. Để cài đặt thủ công, bạn cũng cần cài đặt PHP — không có trình cài đặt — và định cấu hình nó. Như với Apache, có rất nhiều tùy chọn và các giá trị mặc định được thiết lập như thể bạn đang chạy một trang web trực tiếp. Đối với việc phát triển mã, điều này thật tệ vì không có lỗi nào được hiển thị. Nếu bạn mắc lỗi, bạn sẽ nhận được một trang trống không có dấu hiệu cho thấy điều gì đã xảy ra. Ngay cả một ký tự đơn lẻ không đúng chỗ — chẳng hạn như dấu ngoặc nhọn hoặc dấu chấm phẩy bị thiếu — sẽ cung cấp cho bạn một trang trống, không có dấu hiệu cho biết nguyên nhân gây ra sự cố. Để giải quyết vấn đề này, bạn sẽ cần định cấu hình cài đặt PHP theo cách thủ công và điều chỉnh cài đặt để hiển thị thông báo lỗi và bật các công cụ khác giúp việc phát triển trở thành một nhiệm vụ thú vị hơn

Bạn cũng cần định cấu hình Apache để nói chuyện với PHP, để khi ai đó kết nối với máy chủ và yêu cầu tệp có phần mở rộng

sudo systemctl enable docker
sudo systemctl start docker
44, trước tiên, tệp sẽ được gửi tới PHP để xử lý

Để theo dõi cuốn sách này, bạn cũng sẽ muốn có MySQL, nghĩa là cài đặt và định cấu hình thủ công.

Apache, MySQL và PHP đều có hàng chục tùy chọn cấu hình và trừ khi bạn biết chính xác mình đang làm gì, chúng có thể khó thiết lập. Ngay cả khi bạn là một chuyên gia, sẽ mất ít nhất một giờ để mọi thứ hoạt động

Cài đặt thủ công đòi hỏi một lượng kiến ​​thức hoặc nghiên cứu đáng kể và nằm ngoài phạm vi của cuốn sách này. Khả năng định cấu hình máy chủ chắc chắn là một kỹ năng hữu ích, nhưng nó không giúp bạn học cách lập trình bằng PHP — đó là điều bạn thực sự quan tâm nếu bạn đang đọc cuốn sách này

Tùy chọn này không dành cho những người yếu tim và ngay cả đối với các chuyên gia dày dặn kinh nghiệm cũng rất dễ bỏ lỡ một số cài đặt quan trọng. Nếu bạn thực sự muốn cài đặt và định cấu hình thiết lập của mình theo cách thủ công, hãy xem hướng dẫn cài đặt PHP trên Windows của chúng tôi. Tuy nhiên, nếu bạn không muốn lo lắng về việc thiết lập và định cấu hình tất cả phần mềm riêng lẻ, thì có một số tùy chọn thay thế tuyệt vời

Thiết lập máy chủ 2. Cài đặt đóng gói sẵn

Các vấn đề với cài đặt thủ công đã được các nhóm nhà phát triển nhận ra trong nhiều năm và để khắc phục chúng, họ đã xây dựng các bản cài đặt đóng gói sẵn — một trình cài đặt duy nhất cài đặt PHP, Apache, MySQL và phần mềm có liên quan khác, tất cả đều được định cấu hình sẵn với phần mềm thích hợp . Ví dụ phổ biến nhất của loại gói này là XAMPP. X (bất kỳ hệ điều hành nào), Apache, MySQL (hay cụ thể hơn là MariaDB, một “phân nhánh” của MySQL với giấy phép tốt hơn), PHP và Perl. Các lựa chọn thay thế bao gồm WAMP (Windows, Apache, MySQL và PHP), LAMP (Linux, Apache, MySQL và PHP) và MAMP (macOS, Apache, MySQL và PHP)

Điều này rõ ràng là đơn giản hơn rất nhiều so với việc cài đặt thủ công từng phần mềm và không yêu cầu bạn phải tìm hiểu cách định cấu hình máy chủ của mình. Nó nhanh chóng, dễ dàng và tốt hơn nhiều so với cài đặt thủ công, mặc dù vẫn còn một số vấn đề bạn có thể gặp phải với phương pháp này, được liệt kê bên dưới

  • Máy chủ web của bạn có thể đang chạy Linux, nhưng PC của bạn có thể không. Mặc dù Apache, MySQL và PHP hoạt động trong Windows, Linux hoặc macOS, nhưng có một số khác biệt lớn giữa cách thức hoạt động của các hệ điều hành. Trên Windows, tên tệp không phân biệt chữ hoa chữ thường, nghĩa là
    sudo systemctl enable docker
    sudo systemctl start docker
    
    45 giống như
    sudo systemctl enable docker
    sudo systemctl start docker
    
    0 và
    sudo systemctl enable docker
    sudo systemctl start docker
    
    1. Trên máy chủ web của bạn, điều này gần như chắc chắn sẽ không xảy ra. Điều này gây ra sự cố thường xuyên khi một tập lệnh hoạt động hoàn hảo trên máy chủ phát triển Windows của bạn không hoạt động sau khi được tải lên, vì các tệp đang được tham chiếu trong mã với trường hợp sai
  • Apache và MySQL là máy chủ và chúng chạy ở chế độ nền. Ngay cả khi bạn không phát triển phần mềm, chúng vẫn sẽ chạy, sử dụng hết RAM và sức mạnh xử lý của máy tính
  • Phần mềm đóng gói sẵn luôn hơi lỗi thời. Mặc dù các bản sửa lỗi bảo mật không phải là ưu tiên đối với máy tính phát triển (bạn không nên cho phép mọi người truy cập nó trên Web. ), các nhà phát triển luôn sử dụng các phiên bản phần mềm mới nhất để kiểm tra các sự cố có thể gặp phải khi phần mềm trên máy chủ lưu trữ web của bạn được cập nhật luôn hữu ích. Nếu máy chủ lưu trữ web của bạn đang sử dụng phiên bản PHP mới hơn so với máy chủ phát triển của bạn, điều này có thể gây ra sự cố với các tính năng đã bị thay đổi hoặc xóa. Cuối cùng, các nhà phát triển thích trải nghiệm các tính năng mới khi chúng được phát hành. Bạn sẽ không thể làm điều này nếu bạn không sử dụng các phiên bản mới nhất

Mặc dù các cài đặt đóng gói sẵn tốt hơn nhiều so với cài đặt sẵn, nhưng những vấn đề này không làm cho chúng trở nên lý tưởng. May mắn thay, có một cách tiếp cận thậm chí còn tốt hơn

Thiết lập máy chủ 3. máy chủ ảo

Phương pháp thứ ba để thiết lập và chạy máy chủ là “máy chủ ảo”. Một máy chủ ảo hoạt động như một máy chủ web trên một máy tính khác. Máy tính này có thể chạy bất kỳ hệ điều hành nào và bạn có thể kết nối với nó từ PC của mình như thể nó đang ở một nơi khác trên thế giới

Phần mềm ảo hóa như VirtualBox và các công cụ do VMware cung cấp là phổ biến. Là một nhà phát triển web, bạn có thể quen thuộc với các công cụ như hiện đại. tức là một dịch vụ hữu ích do Microsoft cung cấp cho phép bạn tải xuống các máy ảo chạy các phiên bản khác nhau của Windows, Microsoft Edge và Internet Explorer. Nếu bạn muốn xem trang web của mình trông như thế nào trong Internet Explorer 8 trên Windows XP, bạn có thể tải xuống máy ảo có liên quan và chạy nó trong một Cửa sổ trên máy tính để bàn Windows 10/macOS/Linux của bạn mà không cần phải thực sự cài đặt và chạy Windows 7 với

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Phần mềm như VirtualBox cho phép bạn chạy một hệ điều hành bên trong một hệ điều hành khác. Để thử nghiệm Internet Explorer 8, bạn có thể chạy Windows 7 trong máy ảo. Tuy nhiên, với mục đích chạy các tập lệnh PHP, điều này cho phép chúng tôi làm điều gì đó thú vị hơn nhiều. chúng ta có thể chạy máy chủ web Linux có cài đặt PHP, Apache và MySQL trên PC chạy Windows hoặc macOS

Điều này có thể được sử dụng để cho phép bạn chạy chính xác các phiên bản PHP, MySQL và Apache đang được sử dụng trên máy chủ lưu trữ web của bạn, trên cùng một hệ điều hành, giúp ngăn ngừa mọi sự cố có thể tồn tại do sự khác biệt về phiên bản hoặc sự khác biệt trong

Một trong những lợi thế lớn nhất là bạn có thể tải xuống các máy ảo được cấu hình sẵn, chẳng hạn như máy ảo Windows XP và Internet Explorer 8 do Microsoft cung cấp hoặc máy ảo đã cài đặt và cấu hình PHP, Apache và MySQL để hoạt động cùng nhau. Đây giống như gói được cấu hình sẵn nhưng chạy trên Linux như thể nó là một máy chủ web thực sự trên mạng của bạn

Nhược điểm của tất cả điều này là bạn phải tải xuống toàn bộ hệ điều hành để chạy mã của mình. Điều đó có nghĩa là tải xuống nhiều hơn. Điều đó cũng có nghĩa là các gói bị khóa đối với bất kỳ thứ gì được cung cấp bởi máy ảo mà bạn tải xuống. Hoán đổi PHP 7 lấy PHP 8 yêu cầu tải xuống một bản sao hoàn toàn mới của hệ điều hành

Thiết lập máy chủ 4. docker

Docker lấy ý tưởng về ảo hóa và lật ngược nó lại. Mỗi chương trình (hoặc “dịch vụ”, theo thuật ngữ của Docker) chạy trong môi trường biệt lập của nó được gọi là vùng chứa

Docker cho phép nhà phát triển phần mềm cung cấp tệp cấu hình mô tả tất cả các chương trình cần thiết để chạy một ứng dụng — ví dụ: PHP, MySQL, Apache, v.v.

Tệp cấu hình này sau đó được coi là ứng dụng của chính nó. Khi bạn chạy ứng dụng, Docker sẽ tự động tải xuống và thiết lập tất cả phần mềm được liệt kê trong tệp cấu hình

Chi phí cho việc này thấp hơn nhiều so với bạn nghĩ và có rất nhiều lợi ích

  • Cấu hình máy chủ được cung cấp như một phần của ứng dụng. Khi bạn làm cho trang web của mình hoạt động, bạn có thể tải lên tất cả các tệp cấu hình cùng với trang web. Trong mô hình truyền thống, bạn phải thiết lập máy chủ web theo cách thủ công và định cấu hình nó
  • Nhiều trang web có thể chạy cùng lúc trên máy phát triển của bạn, với các cấu hình khác nhau và thậm chí cả phần mềm máy chủ khác nhau (ví dụ: một trang web sử dụng Apache, một trang web khác sử dụng NGINX). Không có Docker, thường chỉ có một phiên bản PHP được cài đặt với một cấu hình duy nhất áp dụng cho mọi trang web chạy trên máy
  • Bạn có thể dễ dàng hoán đổi một phần mềm. Nếu bạn muốn thay đổi trang web từ PHP 7 sang PHP 8, đó là một thay đổi trong một tệp và bạn có thể thực hiện điều đó trên cơ sở từng trang web thay vì buộc phải nâng cấp lên tất cả các trang web của mình cùng một lúc

Docker hiện là lựa chọn tốt nhất để thiết lập môi trường phát triển PHP. Nếu bạn muốn biết thêm về cách thiết lập môi trường phát triển cho chính mình bằng Docker, hãy xem bài viết của tôi “Thiết lập môi trường phát triển PHP hiện đại với Docker”

Bắt đầu

Trước khi viết bất kỳ mã PHP nào và phát triển trang web của bạn, chúng tôi sẽ thiết lập môi trường phát triển bằng Docker. Tôi đã cung cấp tất cả cấu hình cho bạn, nhưng trước khi bắt đầu, bạn cần cài đặt Docker

Cài đặt trên Windows

Đầu tiên, tải xuống và cài đặt phiên bản Docker mới nhất cho Windows từ trang Docker

Khi bạn đã cài đặt Docker (và khởi động lại nếu được yêu cầu), hãy tạo một thư mục trên máy tính nơi bạn muốn lưu trữ trang web của mình. Đây có thể là bất cứ nơi nào. thư mục

sudo systemctl enable docker
sudo systemctl start docker
2 của bạn, máy tính để bàn, ổ cứng ngoài, v.v., nhưng hãy đảm bảo rằng bạn biết đây là đâu vì bạn sẽ cần quay lại thư mục này thường xuyên

Bạn cũng cần biết cách mở terminal. Windows 10 giúp việc này trở nên dễ dàng. Với thư mục được mở trong trình khám phá tệp, hãy chọn menu Tệp ở trên cùng bên trái của cửa sổ, sau đó nhấp vào Mở Windows PowerShell. Đảm bảo rằng bạn thực hiện việc này từ menu Tệp chứ không phải menu bắt đầu, vì nhấp vào nó từ Tệp sẽ mở dấu nhắc lệnh trong thư mục bạn đã chọn

Khi PowerShell đang mở, hãy xác minh rằng đường dẫn đang hiển thị là thư mục bạn đã chọn — ví dụ:

sudo systemctl enable docker
sudo systemctl start docker
3. Sau đó vào phần “Bắt đầu với Docker” bên dưới

Tại thời điểm viết bài (tháng 9 năm 2021), trong bản dựng xem trước hiện tại của Windows 11, PowerShell đã được đổi tên thành Windows Terminal và được truy cập theo một cách khác

  1. Kích hoạt tùy chọn bằng cách mở thủ công ứng dụng Windows Terminal từ menu bắt đầu một lần. Bạn chỉ có thể mở và đóng chương trình. Không thể giải thích được, Microsoft đã thiết kế Windows 11 theo cách mở một chương trình sẽ bật cài đặt ẩn trong một chương trình khác và nếu bạn bỏ qua bước này, mục menu từ bước ba sẽ bị thiếu
  2. Sử dụng File Explorer để điều hướng đến thư mục của bạn
  3. Nhấp chuột phải vào bảng điều khiển chính (có dòng chữ “Thư mục này trống rỗng”) và chọn Mở trong Windows Terminal

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Ghi chú. những hướng dẫn này có thể đã thay đổi vào thời điểm Windows 11 được phát hành và sau khi cuốn sách này được xuất bản

Cài đặt trên macOS

Đầu tiên, tải xuống và cài đặt Docker cho macOS từ trang Docker

Khi bạn đã cài đặt Docker (và khởi động lại nếu được yêu cầu), hãy tạo một thư mục trên máy tính nơi bạn muốn lưu trữ trang web của mình. Đây có thể là bất cứ nơi nào. thư mục

sudo systemctl enable docker
sudo systemctl start docker
2 của bạn, máy tính để bàn, ổ cứng ngoài, v.v., nhưng hãy đảm bảo rằng bạn biết đây là đâu, vì bạn sẽ cần quay lại thư mục này thường xuyên

Nếu bạn đã quen với việc điều hướng xung quanh máy tính của mình bằng thiết bị đầu cuối, bạn có thể bỏ qua bước này, nhưng để thuận tiện, tôi khuyên bạn nên bật tính năng cho phép bạn mở thiết bị đầu cuối trong thư mục hiện tại. Điều này có thể được bật bằng các bước sau

  1. mở Tùy chọn hệ thống
  2. đi tới Bàn phím
  3. chọn tab Phím tắt
  4. nhấp vào nút Dịch vụ
  5. đánh dấu vào ô Thiết bị đầu cuối mới tại Thư mục

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Với điều này được kích hoạt

  1. mở ứng dụng Docker từ thư mục
    sudo systemctl enable docker
    sudo systemctl start docker
    
    5 và chấp nhận các điều khoản
  2. quay lại Finder
  3. điều hướng đến thư mục bạn muốn lưu trữ trang web của mình trong
  4. nhấp chuột phải (hoặc nhấp chuột điều khiển) vào tên thư mục, chọn tùy chọn Dịch vụ từ menu nội dung và chọn Thiết bị đầu cuối mới tại thư mục

Khi thiết bị đầu cuối này đang mở, bạn đã sẵn sàng để tiếp tục với phần “Bắt đầu với Docker” bên dưới

Về sau, bạn chỉ cần lặp lại tập hợp các bước cuối cùng mỗi khi bạn muốn bắt đầu hoặc dừng máy chủ của mình

Cài đặt trên Linux

Linux thường làm cho việc cài đặt phần mềm trở nên rất đơn giản và Docker thực sự là một chương trình Linux theo thiết kế. Trên hầu hết các bản phân phối, nó có thể được cài đặt thông qua trình quản lý gói của bạn, nhưng bạn có thể cần thiết lập kho lưu trữ gói tùy chỉnh

Đối với các bản phân phối dựa trên Debian (Debian, Ubuntu, Mint và KDE Neon) và các bản phân phối dựa trên RedHat (RedHat, CentOS, Fedora), có một tập lệnh cài đặt để thiết lập kho lưu trữ tùy chỉnh và cài đặt Docker

sudo systemctl enable docker
sudo systemctl start docker
5

Để biết hướng dẫn cụ thể cho bản phân phối của bạn, hãy xem hướng dẫn sử dụng Docker

Khi Docker được cài đặt, bạn phải kích hoạt và khởi động dịch vụ bằng các lệnh này

sudo systemctl enable docker
sudo systemctl start docker

Cuối cùng, bạn có thể tự thêm mình vào nhóm

sudo systemctl enable docker
sudo systemctl start docker
6 để không cần chạy các ứng dụng Docker thông qua
sudo systemctl enable docker
sudo systemctl start docker
7

sudo systemctl enable docker
sudo systemctl start docker
9

Thay đổi nhóm người dùng yêu cầu đăng xuất và đăng nhập lại, vì vậy hãy đăng xuất và đăng nhập lại (nhớ lưu bất kỳ thứ gì bạn đã mở. ) và sau khi quay lại, bạn đã sẵn sàng mở một thiết bị đầu cuối

Sau khi bạn đăng nhập lại, hãy tạo một thư mục trên máy tính nơi bạn muốn lưu trữ trang web của mình. Đây có thể là bất cứ nơi nào. thư mục

sudo systemctl enable docker
sudo systemctl start docker
8 của bạn, máy tính để bàn, ổ cứng ngoài, v.v., nhưng hãy đảm bảo rằng bạn biết đây là đâu vì bạn sẽ cần quay lại thư mục này thường xuyên

Mở thư mục trong trình quản lý tệp của bạn và chọn tùy chọn Mở Terminal. Trong trình quản lý tệp Dolphin, bạn có thể nhấp chuột phải và chọn Open Terminal, nhưng tùy chọn này có thể ở một vị trí khác và có thể được đặt tên khác tùy thuộc vào trình quản lý tệp bạn đang sử dụng

Bắt đầu với Docker

Bây giờ bạn đã cài đặt tất cả phần mềm và thiết bị đầu cuối của bạn đang mở ở đúng vị trí, đã đến lúc chạy một số lệnh Docker

Mặc dù bạn có thể tự thiết lập môi trường và tự định cấu hình mọi thứ, nhưng điều này đòi hỏi một bộ kỹ năng khác với lập trình và nằm ngoài phạm vi của cuốn sách này. Tôi đã cung cấp một số cấu hình dựa trên bài viết mà tôi đã liên kết trước đó

Đầu tiên, sao chép cấu hình bằng lệnh này

sudo systemctl enable docker
sudo systemctl start docker
1

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Lệnh này tải xuống một số tệp cấu hình từ kho lưu trữ GitHub và sao chép chúng vào thư mục hiện tại. Thư mục phải trống để lệnh này hoạt động, vì vậy hãy đảm bảo không có tệp hoặc thư mục con nào trong thư mục mà bạn đang cố chạy lệnh này từ đó

Ghi chú. GitHub là một nền tảng lưu trữ mã nguồn được rất nhiều dự án mã nguồn mở sử dụng. Kho lưu trữ là tên được đặt cho một dự án riêng lẻ. Trong trường hợp này, mã đang được tải xuống từ github. com/v-je/docker

Mẹo. nếu bạn đã cài đặt Git, bạn có thể chạy lệnh sau vào thời điểm này.

sudo systemctl enable docker
sudo systemctl start docker
9 Tuy nhiên, thay vì yêu cầu mọi người đọc cuốn sách này cài đặt Git cho một lệnh duy nhất, tôi đã tạo một tập lệnh cài đặt giúp bạn thực hiện việc này

Bạn chỉ cần làm điều này lần đầu tiên và sau khi lệnh hoàn thành, bạn sẽ thấy một số tệp cấu hình xuất hiện trong thư mục của mình. Vui lòng xem qua các tệp được tạo. Có

sudo systemctl enable docker
sudo systemctl start docker
90, cấu hình máy chủ web;

Đừng lo lắng về việc cố gắng hiểu những tệp này. Bạn không cần phải làm bất cứ điều gì với chúng, vì chúng chỉ ở đó để định cấu hình máy chủ khi bạn chạy lệnh tiếp theo

Ghi chú. trước khi chúng tôi tiếp tục, điều đáng nói là môi trường chúng tôi vừa thiết lập sử dụng NGINX chứ không phải Apache. Nếu bạn đang sử dụng XAMPP hoặc gói tương tự, máy chủ web bạn đang sử dụng là Apache. Máy chủ web là một phần của máy chủ lắng nghe yêu cầu từ trình duyệt web và gửi tệp cho nó

Apache vẫn ổn, và nó hoạt động, nhưng nó tồn tại mãi mãi. Khi Apache được tạo ra, Web là một nơi rất khác. Apache rất lớn và có rất nhiều tính năng khác nhau đã xuất hiện và biến mất — nhưng những tính năng mà Apache vẫn hỗ trợ. Web đã thay đổi rất nhiều kể từ khi Apache được tạo ra và mặc dù Apache là một máy chủ có năng lực và sẽ hoạt động tốt, hầu hết các trang web ngày nay đều có xu hướng sử dụng NGINX. Nó dễ cấu hình hơn, nhẹ hơn và được điều chỉnh tốt hơn cho các loại tác vụ mà nhiều trang web hiện đại sử dụng (chẳng hạn như truyền phát video);

Lời khuyên chung của tôi là. nếu bạn đã có một trang web chạy Apache, thì không có lý do gì để thay đổi nó, nhưng nếu bạn đang bắt đầu một dự án mới từ đầu, hãy sử dụng NGINX

Bây giờ bạn đã tải xuống các tệp cấu hình máy chủ, đã đến lúc tải Docker để tải xuống và chạy tất cả các chương trình cần thiết cho máy chủ. Chạy lệnh sau

sudo systemctl enable docker
sudo systemctl start docker
6

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Ghi chú. vì những lý do kỹ thuật nhàm chán không đáng để vào đây, lệnh

sudo systemctl enable docker
sudo systemctl start docker
93 từng là một chương trình riêng biệt có tên là
sudo systemctl enable docker
sudo systemctl start docker
94. Chức năng này hiện đã được chuyển vào chính Docker. Tuy nhiên, nếu bạn đang sử dụng bản phân phối Linux cũ hơn hoặc chạy phiên bản Docker Desktop cũ hơn, bạn có thể cần thay thế
sudo systemctl enable docker
sudo systemctl start docker
93 bằng
sudo systemctl enable docker
sudo systemctl start docker
94 trong tất cả các lệnh
sudo systemctl enable docker
sudo systemctl start docker
93. Chỉ làm điều này thay thế cho
sudo systemctl enable docker
sudo systemctl start docker
98. Các lệnh khác như
sudo systemctl enable docker
sudo systemctl start docker
99 sẽ giữ lại khoảng trắng

Bạn có thể gặp lỗi sau khi chạy

sudo systemctl enable docker
sudo systemctl start docker
10

sudo systemctl enable docker
sudo systemctl start docker
5

Nếu vậy, bạn sẽ cần thay thế lệnh bằng

sudo systemctl enable docker
sudo systemctl start docker
11 và nếu bạn đang dùng Linux, có thể bạn cũng cần cài đặt gói
sudo systemctl enable docker
sudo systemctl start docker
94 riêng biệt bằng trình quản lý gói của mình

Lệnh

sudo systemctl enable docker
sudo systemctl start docker
93 tải
sudo systemctl enable docker
sudo systemctl start docker
92, sau đó tải xuống và cài đặt tất cả phần mềm được liệt kê là dịch vụ. Những thứ chính mà chúng tôi quan tâm hiện tại là PHP, NGINX và MariaDB

Lần đầu tiên bạn chạy lệnh này, sẽ mất vài phút vì nó phải tải xuống tất cả phần mềm cần thiết. Đừng lo lắng, vì điều này chỉ xảy ra lần đầu tiên. Sau khi phần mềm được tải xuống và cài đặt, việc khởi động máy chủ trong tương lai sẽ dễ dàng hơn nhiều

Không giống như sử dụng cài đặt NGINX/PHP/MySQL thủ công trực tiếp trên PC của bạn, máy chủ chỉ được khởi động khi bạn muốn, bằng cách chạy

sudo systemctl enable docker
sudo systemctl start docker
10. Bạn có thể dừng máy chủ bất cứ lúc nào bằng cách quay lại thiết bị đầu cuối và nhấn Ctrl + C

Ngoài ra, bạn có thể khởi động máy chủ ở chế độ nền bằng lệnh này

sudo systemctl enable docker
sudo systemctl start docker
01

Bạn có thể dừng máy chủ bằng cách chạy

sudo systemctl enable docker
sudo systemctl start docker
16 từ thiết bị đầu cuối của mình. (Bạn phải mở terminal trong đúng thư mục để khởi động và dừng máy chủ. )

Mỗi lần bạn muốn làm việc trên trang web, bạn có thể bắt đầu và dừng máy chủ bằng cùng một quy trình

  1. điều hướng đến thư mục bạn đã tạo
  2. mở thiết bị đầu cuối của bạn/Windows PowerShell như bạn đã làm trước đó
  3. chạy
    sudo systemctl enable docker
    sudo systemctl start docker
    
    17

Khi hoàn tất, bạn có thể dừng máy chủ bằng quy trình tương tự

  1. điều hướng đến thư mục bạn đã tạo
  2. mở thiết bị đầu cuối của bạn/Windows PowerShell như bạn đã làm trước đó
  3. chạy
    sudo systemctl enable docker
    sudo systemctl start docker
    
    16

Nếu bạn để thiết bị đầu cuối mở ở chế độ nền, bạn chỉ cần mở cửa sổ và chạy bước 3

Mẹo. lệnh

sudo systemctl enable docker
sudo systemctl start docker
16 dừng các dịch vụ đang chạy và xóa chúng, giải phóng dung lượng ổ đĩa. Nó cũng buộc chúng phải được tạo lại mỗi lần

Bạn cũng có thể sử dụng

sudo systemctl enable docker
sudo systemctl start docker
60 và
sudo systemctl enable docker
sudo systemctl start docker
61 để dừng và khởi động máy chủ. Nhưng những thứ này phụ thuộc vào vùng chứa, mạng và những thứ khác mà Docker tạo ra đằng sau hậu trường được lưu giữ giữa các lần thực thi. Khôi phục hệ thống, di chuyển tệp giữa các máy tính hoặc thậm chí chạy các lệnh Docker khác mà bạn đang sử dụng cho các tác vụ khác (hãy cẩn thận với
sudo systemctl enable docker
sudo systemctl start docker
62. ) có thể loại bỏ những

Sử dụng

sudo systemctl enable docker
sudo systemctl start docker
63 và
sudo systemctl enable docker
sudo systemctl start docker
64 sẽ sử dụng phương pháp tiếp cận phương tiện chặn trống và luôn đáng tin cậy. Tuy nhiên, nó yêu cầu xóa khi không sử dụng và tạo lại khi bạn sử dụng. Đừng lo lắng, mặc dù. tất cả các tệp PHP, JavaScript và CSS của bạn trong thư mục bạn đã tạo sẽ không bị xóa

Kết nối với máy chủ và tạo tệp đầu tiên của bạn

Bây giờ bạn đã có máy chủ đang chạy, bạn có thể kết nối với nó bằng trình duyệt web yêu thích của mình. Máy chủ hoạt động như một máy chủ web thực sự đang chạy ở đâu đó trên Internet. Bạn có thể kết nối với nó bằng cách mở trình duyệt của mình, nhập

sudo systemctl enable docker
sudo systemctl start docker
65 vào thanh địa chỉ và nhấn enter

Bạn sẽ thấy một trang thử nghiệm giống như hình bên dưới

Thiết lập môi trường phát triển PHP của bạn với Docker - SitePoint

Khi máy chủ đang chạy, đã đến lúc tạo tệp đầu tiên của bạn. Khi bạn chạy lệnh

sudo systemctl enable docker
sudo systemctl start docker
11, một thư mục có tên là
sudo systemctl enable docker
sudo systemctl start docker
67 được tạo tự động trong thư mục mà lệnh được chạy từ đó. Các tệp trong thư mục
sudo systemctl enable docker
sudo systemctl start docker
68 là các tệp được sử dụng cho trang thử nghiệm trong ảnh chụp màn hình ở trên

Sử dụng trình soạn thảo văn bản yêu thích của bạn, tạo một tệp có tên

sudo systemctl enable docker
sudo systemctl start docker
69 trong thư mục
sudo systemctl enable docker
sudo systemctl start docker
68 chứa mã sau

sudo systemctl enable docker
sudo systemctl start docker
17

Bây giờ bạn có thể xem trang web của mình trên máy chủ. Theo mặc định (sau này chúng ta sẽ thấy rằng điều này có thể bị ghi đè) một URL ánh xạ trực tiếp tới một tệp. Tệp có tên

sudo systemctl enable docker
sudo systemctl start docker
69 được đặt trong thư mục
sudo systemctl enable docker
sudo systemctl start docker
52 có thể được truy cập trên
sudo systemctl enable docker
sudo systemctl start docker
53, có thể xem
sudo systemctl enable docker
sudo systemctl start docker
54 trên
sudo systemctl enable docker
sudo systemctl start docker
55 và các tệp thậm chí có thể được đặt trong thư mục con. Ví dụ:
sudo systemctl enable docker
sudo systemctl start docker
56 có thể được xem tại URL
sudo systemctl enable docker
sudo systemctl start docker
57

Mẹo. bạn có thể thắc mắc tại sao lại có ba cấp độ thư mục —

sudo systemctl enable docker
sudo systemctl start docker
67,
sudo systemctl enable docker
sudo systemctl start docker
59 và ________ 952 — thay vì chỉ có thư mục ________ 952 với các tệp trong đó

Môi trường được định cấu hình để lưu trữ nhiều trang web từ các thư mục khác nhau trong thư mục

sudo systemctl enable docker
sudo systemctl start docker
67 đã tạo. Để tạo một trang web mới có sẵn tại
sudo systemctl enable docker
sudo systemctl start docker
013, hãy thực hiện các bước sau

  1. Tạo thư mục
    sudo systemctl enable docker
    sudo systemctl start docker
    
    014 bên trong thư mục
    sudo systemctl enable docker
    sudo systemctl start docker
    
    67
  2. Tạo thư mục
    sudo systemctl enable docker
    sudo systemctl start docker
    
    52 bên trong thư mục
    sudo systemctl enable docker
    sudo systemctl start docker
    
    014
  3. Đặt các tệp có thể truy cập web của bạn vào thư mục
    sudo systemctl enable docker
    sudo systemctl start docker
    
    018. Ví dụ: tệp trong
    sudo systemctl enable docker
    sudo systemctl start docker
    
    019 sẽ có thể truy cập được tại URL
    sudo systemctl enable docker
    sudo systemctl start docker
    
    170

Bất kỳ thư mục nào bạn tạo bên trong thư mục

sudo systemctl enable docker
sudo systemctl start docker
67 đều được coi là tên miền phụ của
sudo systemctl enable docker
sudo systemctl start docker
65. Nếu không có tên miền phụ nào được chỉ định và bạn chỉ cần truy cập vào
sudo systemctl enable docker
sudo systemctl start docker
65, nó sẽ tải trang web từ thư mục
sudo systemctl enable docker
sudo systemctl start docker
59

Như chúng ta sẽ thấy ở phần sau của cuốn sách, nên giữ một số tệp nhất định bên ngoài thư mục ________ 952 để bảo mật, đó là lý do tại sao mỗi trang web có một thư mục ________ 952

Ghi chú. trình soạn thảo văn bản do hệ điều hành của bạn cung cấp — chẳng hạn như Notepad hoặc TextEdit — không thực sự phù hợp để chỉnh sửa tập lệnh HTML và PHP. Tuy nhiên, có một số trình soạn thảo văn bản vững chắc với sự hỗ trợ phong phú để chỉnh sửa các tập lệnh PHP mà bạn có thể tải xuống miễn phí. Dưới đây là một số hoạt động trên Windows, macOS và Linux

  • Visual Studio Code (Hướng dẫn bắt đầu)
  • Atom (Hướng dẫn bắt đầu)
  • Văn bản tuyệt vời (Tài liệu)

Tất cả chúng đều rất giống nhau và vì mục đích của cuốn sách này, bất kỳ một trong số chúng đều là một lựa chọn tốt và sẽ giúp cuộc sống của bạn với tư cách là một nhà phát triển đơn giản hơn nhiều so với Notepad hoặc TextEdit

Chúng tôi đã sẵn sàng

Trong chương này, bạn đã học cách thiết lập môi trường phát triển PHP với Docker và cách lưu trữ tệp HTML trên máy chủ. Tôi chỉ trình bày những điều cơ bản để nhanh chóng đi vào phần cốt lõi của cuốn sách này. thực sự lập trình trong PHP. Tuy nhiên, có một quy trình phát triển tốt với tư cách là một nhà phát triển PHP là một kỹ năng theo đúng nghĩa của nó. Tuy nhiên, với mục đích của chúng ta, máy chủ đã được thiết lập và chạy, và bạn đã sẵn sàng viết tập lệnh PHP đầu tiên của mình, đó chính xác là những gì chúng ta sẽ làm trong chương tiếp theo, Hướng dẫn PHP cho người mới bắt đầu

Chia sẻ bài viết này

tom quản gia

Tom Butler là một nhà phát triển web và giảng viên đại học. Anh ấy có bằng tiến sĩ trong lĩnh vực thực hành tốt nhất về công nghệ phần mềm và thích đánh giá các cách tiếp cận khác nhau đối với các vấn đề lập trình

Bạn có thể sử dụng Docker làm môi trường phát triển không?

Docker là một cách tuyệt vời để cung cấp môi trường phát triển nhất quán . Nó sẽ cho phép chúng tôi chạy từng dịch vụ và giao diện người dùng của mình trong một vùng chứa. Chúng tôi cũng sẽ thiết lập mọi thứ để chúng tôi có thể phát triển cục bộ và bắt đầu các phụ thuộc của mình bằng một lệnh docker. Điều đầu tiên chúng tôi muốn làm là dockerize từng ứng dụng của chúng tôi.

Tôi có thể sử dụng Docker cho PHP không?

Có rất nhiều cách để thiết lập môi trường phát triển PHP của bạn, nhưng sử dụng Docker là phương pháp hay nhất hiện nay . Tôi sẽ bắt đầu với một lịch sử ngắn gọn về cách mọi người đã thiết lập môi trường phát triển PHP của họ trong những năm qua, dẫn đến vị trí của chúng tôi hiện nay.

Bạn sẽ tạo môi trường trong Docker như thế nào?

Khởi chạy từ thư mục cục bộ .
Từ Môi trường dành cho nhà phát triển trong Bảng điều khiển Docker, chọn Tạo. .
Chọn Bắt đầu
Không bắt buộc. Đặt tên cho môi trường nhà phát triển của bạn
Chọn Thư mục cục bộ làm nguồn
Chọn Chọn để mở thư mục gốc của mã mà bạn muốn làm việc trên đó

Cấu hình mở rộng Docker PHP là gì?

docker-php-ext-enable - bật tiện ích mở rộng đã có bằng cách thêm mục nhập cụ thể vào php. ini . Các tiện ích mở rộng được cài đặt với pecl hoặc trình quản lý gói gốc có thể không được bật theo mặc định, do đó yêu cầu bước bổ sung này. Như đã đề cập ở trên, các tiện ích mở rộng được cài đặt bằng docker-php-ext-install đang được bật tự động.