Làm cách nào để khởi động máy chủ HTTP bằng PHP?

PHP (>= 5. 4) đi kèm với một máy chủ web tích hợp. Máy chủ này có thể được sử dụng để chạy ứng dụng Sulu của bạn trong quá trình phát triển. Bằng cách này, bạn không cần phải cấu hình một máy chủ web đầy đủ tính năng như Apache hoặc Nginx

thận trọng

Máy chủ web tích hợp có nghĩa là được chạy trong môi trường được kiểm soát. Nó không được thiết kế để sử dụng trên các mạng công cộng

Máy chủ có thể được khởi động bằng lệnh sau

php -S localhost:8000 -t public/ config/router.php

Các lệnh này sẽ bắt đầu một máy chủ lắng nghe trên http. //127. 0. 0. 1. 8000, tương ứng. cổng miễn phí đầu tiên sau 8000

Kể từ phiên bản 5. 4, PHP đi kèm với máy chủ tích hợp. Nó có thể được sử dụng để chạy ứng dụng mà không cần cài đặt máy chủ http khác như nginx hoặc apache. Máy chủ tích hợp chỉ được thiết kế trong môi trường bộ điều khiển cho mục đích phát triển và thử nghiệm

Nó có thể được chạy bằng lệnh php -S

Để kiểm tra, hãy tạo tệp index.php chứa

and run command php -S localhost:8080

Bây giờ bạn sẽ có thể xem nội dung trong trình duyệt. Để kiểm tra điều này, hãy điều hướng đến http://localhost:8080

Mọi truy cập sẽ dẫn đến mục nhật ký được ghi vào thiết bị đầu cuối

[Mon Aug 15 18:20:19 2016] ::1:52455 [200]: /

Trong PHP, bạn thường sử dụng một chương trình máy chủ web riêng chấp nhận các yêu cầu HTTP và chuyển chúng tới PHP để tạo phản hồi. Các ví dụ phổ biến về các chương trình máy chủ web riêng biệt là Apache và Nginx. Tuy nhiên, PHP có một máy chủ web tích hợp mà chúng ta có thể sử dụng trong quá trình phát triển

Để sử dụng máy chủ web phát triển, hãy mở một thiết bị đầu cuối và một thư mục mới để chứa mã của bạn. Tạo một tệp có tên index.php và đặt mã PHP này vào đó

Go back to your terminal and start a PHP web server using this command:

________1

Now, you can open localhost:8080 trong trình duyệt web của bạn và bạn sẽ thấy 'Xin chào thế giới. ’ trong nội dung của trang

Tiếp theo, chúng ta có thể sử dụng PHP để phân tích tất cả thông tin về yêu cầu HTTP được gửi từ trình duyệt tới tập lệnh PHP của bạn. Thay đổi index.php của bạn để có mã này

";
foreach ($headers as $key => $header) {
    echo "$key: $header
"; }

Tải lại localhost:8080 và bạn sẽ thấy dòng yêu cầu chính và tất cả các tiêu đề được in trên trang web. Thẻ

php -S localhost:8080
0 là HTML cho một dòng mới. Vì chúng tôi đang xuất ra trình duyệt web, chúng tôi không còn có thể sử dụng
php -S localhost:8080
1 để tạo một dòng mới

Theo mặc định, PHP sẽ tạo dòng phản hồi và tiêu đề cần thiết. Nếu bạn mở bảng điều khiển trình duyệt và mở tab mạng, bạn có thể thấy mã phản hồi và tiêu đề

HTTP/1.1 200 OK
Host: localhost:8080
Date: Sun, 28 Apr 2019 10:19:25 -0500
Connection: close
X-Powered-By: PHP/7.2.17
Content-type: text/html; charset=UTF-8

PHP đặt mã phản hồi thành

php -S localhost:8080
2 và loại nội dung thành
php -S localhost:8080
3. Mặc dù PHP sẽ xuất ra các giá trị mặc định tốt, nhưng chúng ta có thể thay đổi chúng trong mã của mình nếu muốn. Cập nhật tệp index.php của bạn bằng mã này

php -S localhost:8080
5 và loại nội dung thành văn bản thuần túy. Nếu bạn mở localhost:8080 trong trình duyệt của mình, bây giờ bạn sẽ thấy phản hồi HTTP này trong bảng điều khiển của mình

HTTP/1.1 404 Not Found
Host: localhost:8080
Date: Sun, 28 Apr 2019 10:26:40 -0500
Connection: close
X-Powered-By: PHP/7.2.17
Content-type: text/plain;charset=UTF-8

PHP đã thêm các tiêu đề cần thiết khác cho phản hồi, nhưng lần này sử dụng

php -S localhost:8080
7 trong dòng phản hồi chính và đặt tiêu đề
php -S localhost:8080
8 thành
php -S localhost:8080
9

bạn cũng có thể tạo máy chủ của riêng mình bằng php bằng mã

$file = "src/browser.php";// this file is open with server when it starts!

________1

run this code then open browser to localhost:443 or whichever port you chose

Máy chủ web này được thiết kế để hỗ trợ phát triển ứng dụng. Nó cũng có thể hữu ích cho mục đích thử nghiệm hoặc cho các bản trình diễn ứng dụng được chạy trong môi trường được kiểm soát. Nó không có ý định trở thành một máy chủ web đầy đủ tính năng. Nó không nên được sử dụng trên mạng công cộng

CLI SAPI cung cấp một máy chủ web tích hợp

Máy chủ web chỉ chạy một quy trình đơn luồng, vì vậy các ứng dụng PHP sẽ bị đình trệ nếu yêu cầu bị chặn

Các yêu cầu URI được cung cấp từ thư mục làm việc hiện tại nơi PHP được bắt đầu, trừ khi tùy chọn -t được sử dụng để chỉ định gốc tài liệu rõ ràng. Nếu một yêu cầu URI không chỉ định một tệp, thì chỉ mục. php hoặc chỉ mục. html trong thư mục đã cho được trả lại. Nếu không có tệp nào tồn tại, việc tra cứu chỉ mục. php và chỉ mục. html sẽ được tiếp tục trong thư mục mẹ và cứ tiếp tục như vậy cho đến khi tìm thấy một thư mục hoặc đến thư mục gốc của tài liệu. Nếu một chỉ số. php hoặc chỉ mục. html được tìm thấy, nó được trả về và $_SERVER['PATH_INFO'] được đặt ở phần cuối của URI. Nếu không, mã phản hồi 404 được trả về

Nếu một tệp PHP được cung cấp trên dòng lệnh khi máy chủ web khởi động, thì nó được coi là tập lệnh "bộ định tuyến". Tập lệnh được chạy khi bắt đầu mỗi yêu cầu HTTP. Nếu tập lệnh này trả về false, thì tài nguyên được yêu cầu sẽ được trả về nguyên trạng. Nếu không, đầu ra của tập lệnh được trả lại cho trình duyệt

Các loại MIME tiêu chuẩn được trả về cho các tệp có phần mở rộng. . 3gp,. apk,. avi,. bmp,. css,. csv,. tài liệu,. tài liệu,. flac,. ảnh gif,. gz,. gzip,. htm,. html,. ics,. jpe,. jpeg,. jpg,. js,. kml,. kmz,. m4a,. di chuyển,. mp3,. mp4,. mpeg,. mpg,. tốt,. ods,. tốt,. yêu,. ogg,. ogv,. pdf,. pdf,. png,. trang,. pptx,. qt,. sinh viên,. swf,. hắc ín,. chữ,. tif,. văn bản,. sóng,. trang web,. wmv,. xl,. xlsx,. xml,. xl,. xsd, và. khóa kéo

Nhật ký thay đổi. Các loại MIME được hỗ trợ (phần mở rộng tệp) Phiên bản Mô tả5. 5. 12. xml,. xsl và. xsd5. 5. 7. 3gp,. apk,. avi,. bmp,. csv,. tài liệu,. tài liệu,. flac,. gz,. gzip,. ics,. kml,. kmz,. m4a,. mp3,. mp4,. mpg,. mpeg,. di chuyển,. tốt,. ods,. tốt,. yêu,. pdf,. pptx,. trang,. qt,. swf,. hắc ín,. chữ,. tif,. sóng,. wmv,. xl,. xlsx, và. zip5. 5. 5. pdf5. 4. 11. ogg,. ogv, và. webm5. 4. 4. htm và. svgChangelogVersionDescription7. 4. 0Bạn có thể định cấu hình máy chủ web tích hợp để rẽ nhánh nhiều nhân viên nhằm kiểm tra mã yêu cầu nhiều yêu cầu đồng thời đến máy chủ web tích hợp. Đặt biến môi trường PHP_CLI_SERVER_WORKERS thành số lượng công nhân mong muốn trước khi khởi động máy chủ. Điều này không được hỗ trợ trên Windows

Cảnh báo

Tính năng thử nghiệm này không dành cho sử dụng sản xuất. Nói chung, Máy chủ Web tích hợp không dành cho mục đích sử dụng sản xuất

Ví dụ #1 Khởi động máy chủ web

$ cd ~/public_html
$ php -S localhost:8000

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit

Sau khi yêu cầu URI cho http. //máy chủ cục bộ. 8000/ và http. //máy chủ cục bộ. 8000/bản thảo. html, thiết bị đầu cuối sẽ hiển thị một cái gì đó tương tự như

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit.
[Thu Jul 21 10:48:48 2011] ::1:39144 GET /favicon.ico - Request read
[Thu Jul 21 10:48:50 2011] ::1:39146 GET / - Request read
[Thu Jul 21 10:48:50 2011] ::1:39147 GET /favicon.ico - Request read
[Thu Jul 21 10:48:52 2011] ::1:39148 GET /myscript.html - Request read
[Thu Jul 21 10:48:52 2011] ::1:39149 GET /favicon.ico - Request read

Lưu ý rằng trước PHP 7. 4. 0, các tài nguyên tĩnh được liên kết tượng trưng không thể truy cập được trên Windows, trừ khi tập lệnh bộ định tuyến sẽ xử lý các tài nguyên này

Ví dụ #2 Bắt đầu với một thư mục gốc của tài liệu cụ thể

$ cd ~/public_html
$ php -S localhost:8000 -t foo/

PHP 5.4.0 Development Server started at Thu Jul 21 10:50:26 2011
Listening on localhost:8000
Document root is /home/me/public_html/foo
Press Ctrl-C to quit

Ví dụ #3 Sử dụng Tập lệnh Bộ định tuyến

Trong ví dụ này, yêu cầu hình ảnh sẽ hiển thị chúng, nhưng yêu cầu tệp HTML sẽ hiển thị "Chào mừng bạn đến với PHP"

// router.php
if (preg_match('/\.(?:png|jpg|jpeg|gif)$/', $_SERVER["REQUEST_URI"])) {
return false; // serve the requested resource as-is.
} else {
echo "

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit
0

PHP 5.4.0 Development Server started at Thu Jul 21 10:43:28 2011
Listening on localhost:8000
Document root is /home/me/public_html
Press Ctrl-C to quit
1

$ php -S localhost:8000 router.php

Ví dụ #4 Kiểm tra việc sử dụng máy chủ web CLI

Để sử dụng lại tập lệnh bộ định tuyến khung trong quá trình phát triển với máy chủ web CLI và sau đó với máy chủ web sản xuất

Bạn có thể tạo một máy chủ bằng PHP không?

bạn cũng có thể tạo máy chủ của riêng mình bằng php bằng cách sử dụng mã . $file = "src/trình duyệt. php";// tập tin này được mở với máy chủ khi nó khởi động.

Làm cách nào để chạy tệp PHP trên máy chủ?

php” được đặt trong thư mục “htdocs”. Nếu bạn muốn chạy nó, hãy mở bất kỳ trình duyệt web nào và nhập “localhost/demo. php” và nhấn enter . Chương trình của bạn sẽ chạy.

Làm thế nào để bắt đầu một trang web PHP?

Đọc tiếp để tìm hiểu cách tạo một trang web PHP theo từng bước. .
Tạo một trang web PHP. tiêu đề. Để tạo một trang web bằng PHP, bạn sẽ cần xây dựng ba trang web. .
Đặt nội dung vào phần thân trang web PHP của bạn. .
Mã trang web PHP đơn giản cho chân trang. .
Kết hợp trang web PHP đơn giản của bạn với nhau

Làm cách nào để khởi động máy chủ PHP trong Windows?

Cài đặt PHP .
Bước 1. Tải xuống các tệp PHP. Nhận gói ZIP an toàn chủ đề PHP x64 mới nhất từ ​​https. //các cửa sổ. php. mạng/tải xuống/
Bước 2. Giải nén các tập tin. .
Bước 3. định cấu hình php. .
Bước 4. Thêm C. \php vào biến môi trường PATH. .
Bước 5. Định cấu hình PHP làm mô-đun Apache. .
Bước 6. Kiểm tra tệp PHP