Lý do là lịch sử.
PHP
PHP được sinh ra để cung cấp một cách đơn giản để tạo các trang web động. Năm 1994, điều này cũng có nghĩa là:
- Thực hiện máy chủ của riêng bạn, có nghĩa là dành nhiều tháng làm công việc tẻ nhạt và phức tạp,
- Hoặc sử dụng CGI và dựa vào máy chủ web tồn tại với hỗ trợ CGI, chẳng hạn như NCSA HTTPD.
Không có gì đáng ngạc nhiên khi, với mục tiêu ban đầu của PHP, Rasmus Lerdorf đã quyết định đi với tùy chọn thứ hai, điều này khiến PHP tương thích với người kế thừa của NCSA HTTPD. Kể từ đó, PHP vẫn thân thiện với Apache, nhiều như Lamp Stack là một trong những điều dễ nhất để thiết lập cho một lập trình viên mới bắt đầu.
PHP luôn là một ngôn ngữ, và không có gì hơn. Nó không phải là một máy chủ web và không có ý định là một máy chủ web; Thay vào đó, nó dựa vào một máy chủ web là vectơ thực thi chính của nó.
Node.js
Mọi thứ rất khác nhau đối với Node.js. Năm 2009, Node.js được sinh ra như một phản ứng với các máy chủ tồn tại, bao gồm cả Apache:
Dahl chỉ trích các khả năng hạn chế của máy chủ web phổ biến nhất trong năm 2009, Apache HTTP Server, để xử lý nhiều kết nối đồng thời [lên đến 10.000 trở lên] và cách tạo mã phổ biến nhất [lập trình tuần tự], khi mã bị chặn Toàn bộ quá trình hoặc ngụ ý nhiều ngăn xếp thực thi trong trường hợp kết nối đồng thời.
Nguồn: Wikipedia.
Trong bối cảnh này, người ta sẽ khó có thể tạo Node.js dựa vào máy chủ Apache [hoặc IIS, hoặc bất cứ điều gì]. Mô hình xử lý của Node.js là khác nhau đáng kể, điều này khiến cho không thể tích hợp với WSGI hoặc CGI.
Nếu PHP là ngôn ngữ, Node.js thì không. Node.js là một môi trường thời gian chạy cho phép chạy JavaScript bên ngoài bối cảnh của trình duyệt. Điều này làm cho Apache trở thành đối thủ cạnh tranh của Node.js. Điều đó có làm bạn ngạc nhiên rằng IIS không cần Apache để chạy không? which allows to run JavaScript outside the context of a browser. This makes Apache a competitor of Node.js. Does it surprise you that IIS doesn't need Apache to run?
Python
Python rất giống PHP. SimpleHttpserver mà bạn đề cập trong câu hỏi của bạn không nhằm mục đích sử dụng trong sản xuất, vì vậy cuối cùng bạn đã lưu trữ ứng dụng của mình trong Gunicorn hoặc Apache [hoặc một máy chủ khác, tùy thuộc vào tùy chọn của bạn], giống hệt bạn làm với PHP.
Logic tương tự ở đây: Viết một máy chủ HTTP hoàn chỉnh không phải là một nhiệm vụ dễ dàng và cũng khá không cần thiết: Vì hầu hết các quản trị viên hệ thống đều quen thuộc với Apache, tại sao tạo ra một cái gì đó mới, khi bạn có thể đơn giản làm cho Python tương thích với Python WSGI?
Trong hướng dẫn này, chúng tôi cho rằng máy chủ của bạn đã kích hoạt hỗ trợ cho PHP và tất cả các tệp kết thúc bằng .php được xử lý bởi PHP. Trên hầu hết các máy chủ, đây là tiện ích mở rộng mặc định cho các tệp PHP, nhưng yêu cầu quản trị viên máy chủ của bạn chắc chắn. Nếu máy chủ của bạn hỗ trợ PHP, thì bạn không cần phải làm bất cứ điều gì. Chỉ cần tạo các tệp .php của bạn, đặt chúng vào thư mục web của bạn và máy chủ sẽ tự động phân tích chúng cho bạn. Không cần phải biên dịch bất cứ thứ gì và bạn cũng không cần cài đặt bất kỳ công cụ bổ sung nào. Hãy nghĩ về các tệp hỗ trợ PHP này như các tệp HTML đơn giản với một gia đình hoàn toàn mới của các thẻ ma thuật cho phép bạn làm tất cả các loại.
Hãy để chúng tôi nói rằng bạn muốn lưu băng thông quý giá và phát triển địa phương. Trong trường hợp này, bạn sẽ muốn cài đặt một máy chủ web, chẳng hạn như »& nbsp; Apache, và tất nhiên là» & nbsp; php. Rất có thể bạn cũng sẽ muốn cài đặt cơ sở dữ liệu, chẳng hạn như »& nbsp; mysql.
Bạn có thể cài đặt các cá nhân này hoặc chọn một cách đơn giản hơn. Hướng dẫn sử dụng của chúng tôi có hướng dẫn cài đặt cho PHP [giả sử bạn đã được thiết lập một số máy chủ web]. Nếu bạn có vấn đề với việc tự cài đặt PHP, chúng tôi sẽ đề nghị bạn hỏi câu hỏi của bạn trong danh sách gửi thư cài đặt của chúng tôi. Nếu bạn chọn đi trên tuyến đơn giản hơn, thì »& nbsp; định vị gói được cấu hình sẵn cho hệ điều hành của bạn, tự động cài đặt tất cả những thứ này chỉ bằng một vài lần nhấp chuột. Thật dễ dàng để thiết lập một máy chủ web với hỗ trợ PHP trên bất kỳ hệ điều hành nào, bao gồm MacOSx, Linux và Windows. Trên Linux, bạn có thể tìm thấy »& nbsp; Rpmfind và» & nbsp; pbone hữu ích để định vị rpms. Bạn cũng có thể muốn truy cập »& nbsp; apt-get để tìm các gói cho Debian.
Không có người dùng đóng góp ghi chú cho trang này.
Tôi đang học trên các biểu mẫu YouTube HTML5 với các tệp PHP; Các video bắt đầu bằng một trang web chứa biểu mẫu và liên kết đến tệp PHP hoặc chúng đặt mọi thứ vào các tệp PHP; Tôi sao chép các tập tin chính xác của người hướng dẫn; Nhưng chúng không hoạt động: Không có gì được đăng sau khi điền vào biểu mẫu và nhấn nút gửi.
Tôi đã có các tệp trên ổ đĩa flash USB sau đó đã thử chúng trên máy tính: không có gì.
Câu hỏi của tôi là: "Tôi có cần phải có một máy chủ thực tế trên máy tính của mình để các tệp PHP hoạt động không?"
Hỏi ngày 28 tháng 4 năm 2017 lúc 17:00Apr 28, 2017 at 17:00
2
Đúng. PHP yêu cầu một máy chủ web để chạy trên.
Bạn có thể chạy nó trên máy tính của riêng bạn; Máy chủ web không phải được kết nối với Internet trong khi bạn đang tạo và kiểm tra các tập lệnh PHP của mình khỏi máy cục bộ. Bạn có thể đọc thêm về điều này trên trang chính thức của PHP
Bạn có thể tải xuống một trong các máy chủ cục bộ sau:
- Windows: Wamp
- OSX: Mamp
- Linux: Đèn
- XAMPP cũng là một tùy chọn, nó là nền tảng chéo [như được tham chiếu bởi ATECHGuy]
Dưới đây là một lời giải thích tốt về lý do tại sao một máy chủ web được yêu cầu chạy PHP. Về cơ bản là do PHP là ngôn ngữ kịch bản phía máy chủ động.
Tuy nhiên, nếu bạn chỉ muốn chạy các tập lệnh PHP đơn giản, không có trang web. Điều này là có thể mà không cần máy chủ web chạy. Xem câu hỏi này: Làm cách nào để chạy PHP mà không có máy chủ web?
Đã trả lời ngày 28 tháng 4 năm 2017 lúc 17:04Apr 28, 2017 at 17:04
Lissy93Lissy93Lissy93
4.9147 Huy hiệu vàng36 Huy hiệu bạc61 Huy hiệu Đồng7 gold badges36 silver badges61 bronze badges
1
Đúng. Các tệp PHP chứa mã phải được xử lý bởi trình thông dịch, nghĩa là một chương trình đọc mã PHP và đầu ra phù hợp. Điều này có thể được thực hiện mà không cần máy chủ web [sử dụng dòng lệnh PHP] nhưng PHP được sử dụng phổ biến nhất với máy chủ web.
Bạn muốn thiết lập một số loại ngăn xếp với máy chủ web và PHP. Rất nhiều người mới bắt đầu sử dụng Apache như một máy chủ web và vì bạn cảm thấy thoải mái khi sử dụng YouTube để học, một tìm kiếm đơn giản cho "Apache PHP" và hệ điều hành của bạn.
Đã trả lời ngày 28 tháng 4 năm 2017 lúc 17:05Apr 28, 2017 at 17:05
Kyle Beckerkyle BeckerKyle Becker
1.28011 Huy hiệu bạc20 Huy hiệu đồng11 silver badges20 bronze badges