Php có cần máy chủ web không?

Phải thừa nhận rằng bài đăng này ít nói về nhiệm vụ lập trình thực tế mà nhiều hơn về các hoạt động đằng sau hậu trường của môi trường thực thi của PHP

Giới thiệu

PHP là ngôn ngữ phía máy chủ phổ biến, tuyệt vời cho các ứng dụng web. Một số công ty và tổ chức lớn nhất trên thế giới sử dụng PHP cho các hoạt động của họ [một số trong số họ có thể bạn sử dụng hàng ngày]. Một số lượng lớn các trang web và ứng dụng được cung cấp bởi PHP;

Để bắt đầu loạt bài đăng nhỏ này, chúng ta sẽ bắt đầu bằng cách xem cách người dùng tương tác với máy chủ web và cách máy chủ web và PHP giao tiếp với nhau

Ngôn ngữ

PHP là ngôn ngữ thông dịch. Điều này có nghĩa là bạn sẽ viết các câu lệnh [dòng mã] và khi một trang được yêu cầu, trình thông dịch PHP sẽ tải mã PHP của bạn, phân tích cú pháp và sau đó thực thi mã đó. Điều này khác với các ngôn ngữ khác, chẳng hạn như Java hoặc C#, nơi mã nguồn được biên dịch và sau đó được thực thi. Điều này hữu ích cho việc phát triển web vì bạn không phải biên dịch lại mã nguồn của mình để thay đổi mã nhỏ và các thay đổi có hiệu lực ngay lập tức đối với tất cả các yêu cầu tiếp theo

PHP được viết dưới dạng tệp văn bản tiêu chuẩn với phần mở rộng .php. Các tệp PHP thường được lưu trong một thư mục trong thư mục chung của máy chủ web [hoặc thư mục gốc của web]. Trên hầu hết các hệ thống, điều này sẽ được đặt tên là public hoặc public_html. Ví dụ: nếu một tệp được lưu dưới dạng index.php trong thư mục gốc của web, người dùng có thể truy cập tệp đó bằng cách nhập //www.example.org hoặc //www.example.org/index.php

PHP và các trang mặc định [Chỉ mục thư mục]

Hầu hết các thiết lập máy chủ web và PHP đều cho phép bạn sử dụng tệp có tên index.php giống như bạn sẽ sử dụng tệp index.html. Tuy nhiên, hãy chắc chắn rằng bạn biết cái nào được ưu tiên để không nhận được kết quả không mong muốn [thường là index.php]

Vòng đời yêu cầu

Vậy chính xác điều gì đang xảy ra khi người dùng nhập URL //example.org? . Khi Apache nhận được yêu cầu này, nó sẽ tìm một tệp có tên index.php [hoặc index.html, hãy nhớ các chỉ mục thư mục từ trước đó?]. Nếu một tệp có tên index.php được tìm thấy, về cơ bản, Apache sẽ nói "Này, đây là tệp PHP vì nó có. phần mở rộng php. Tôi sẽ đưa cái này cho trình thông dịch PHP"

Sau khi Apache quyết định đó là tệp PHP, nó sẽ cung cấp tệp đó cho trình thông dịch PHP. Khi PHP nhận được tệp, nó sẽ đọc qua tệp đó và thực thi bất kỳ mã PHP nào mà nó có thể tìm thấy. Sau khi thực hiện xong với tệp, trình thông dịch PHP đưa đầu ra của mã, nếu có, trở lại Apache. Khi Apache lấy lại đầu ra từ PHP, nó sẽ gửi đầu ra đó trở lại trình duyệt để hiển thị đầu ra trên màn hình

Đầu ra PHP và Apache

Những người mới bắt đầu lập trình PHP thường có thể hỏi những câu hỏi như "Làm cách nào để tạo một hình ảnh bằng PHP?" . Thành thật mà nói, PHP không. Theo nghĩa truyền thống, mục tiêu chính của PHP là tạo ra một số tài liệu HTML mà trình duyệt có thể hiển thị

Tuy nhiên, các ứng dụng hiện đại được xây dựng bằng khung MVC phía máy khách thường thấy vai trò của PHP thay đổi thành chỉ tương tác với bộ lưu trữ dữ liệu phía máy chủ

Chúng ta hãy xem xét lại quá trình này với một sơ đồ. Trong sơ đồ này, chúng tôi sẽ giả định rằng người dùng sẽ truy cập trang web Laravel tại public5. Hình dưới đây có các số được khoanh tròn sẽ làm nổi bật các giai đoạn khác nhau của yêu cầu. Một lời giải thích từng bước của từng bước theo hình

Bước 1Người dùng nhập `http. // ấu trùng. com` vào trình duyệt của họ và nhấn/nhấn 'enter'. Bước 2 Sau khi người dùng gõ/nhấn 'enter', trình duyệt sẽ gửi yêu cầu trang qua Internet đến máy chủ web. Bước 3Máy chủ web nhận yêu cầu và phân tích thông tin yêu cầu. Apache nhận ra rằng chúng tôi đã không chỉ định một tệp, vì vậy nó tìm kiếm một chỉ mục thư mục và tìm thấy `index. php`. Bước 4Vì Apache biết gửi các tệp kết thúc bằng `. php` vào trình thông dịch PHP, nó sẽ yêu cầu PHP thực thi tệp. Bước 5Trong bước này, PHP đang thực thi mã có trong `index. php` từ yêu cầu. Trong bước này, PHP có thể tương tác với cơ sở dữ liệu, hệ thống tệp hoặc thực hiện lệnh gọi API bên ngoài, trong số những thứ khác. Bước 6Sau khi PHP thực hiện xong lệnh `index. php`, nó sẽ gửi đầu ra trở lại Apache. Bước 7Apache nhận đầu ra từ PHP và gửi lại qua Internet tới trình duyệt web của người dùng. Đây được gọi là `phản hồi web`. Bước 8Trình duyệt web của người dùng nhận phản hồi từ máy chủ và hiển thị trang web trên máy tính hoặc thiết bị

Như bạn có thể thấy, PHP tương tác với máy chủ web theo cách rất thực tế. Quy trình yêu cầu thực tế rất đơn giản và một trong những lý do khiến PHP rất phù hợp để phát triển ứng dụng web

Sự kết luận

Đến đây là kết thúc bài viết đầu tiên trong loạt bài nhỏ về lập trình cơ bản với PHP. Các bài tiếp theo sẽ đề cập đến những thứ như biến, toán tử và hàm. Sau đó, chúng ta sẽ đi sâu vào thế giới của Lập trình hướng đối tượng [OOP] và xem nó phù hợp với PHP như thế nào

Tôi có thể chạy PHP mà không cần máy chủ web không?

Bạn có thể tạo tập lệnh PHP để chạy tập lệnh đó mà không cần bất kỳ máy chủ hay trình duyệt nào . Bạn chỉ cần trình phân tích cú pháp PHP để sử dụng nó theo cách này. Kiểu sử dụng này lý tưởng cho các tập lệnh được thực thi thường xuyên bằng cron [trên *nix hoặc Linux] hoặc Trình lập lịch tác vụ [trên Windows]. Các tập lệnh này cũng có thể được sử dụng cho các tác vụ xử lý văn bản đơn giản.

PHP có máy chủ web không?

PHP [>= 5. 4] đi kèm với máy chủ web tích hợp sẵn . 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. 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.

PHP sử dụng máy chủ web nào?

Như đã lưu ý trước đó, các máy chủ [ứng dụng] PHP, chẳng hạn như Máy chủ Zend, chạy các ứng dụng được viết bằng ngôn ngữ kịch bản lệnh PHP. Các máy chủ web, chẳng hạn như Apache và Nginx , quản lý các yêu cầu từ trình duyệt để thực hiện những việc như. Hiển thị trang web được viết bằng PHP từ trình duyệt.

Điều gì là cần thiết để chạy mã PHP?

Để chạy mã PHP, bạn cần có ba phần mềm sau trên máy cục bộ của mình. Máy chủ Web [e. g. , Apache] PHP [Thông dịch viên] Cơ sở dữ liệu MySQL [tùy chọn]

Chủ Đề