2012-03-30 32 views
41

Tôi đã được học về xử lý lỗi trong PHP gần đây và đã đi qua hàm error_log(). Trong hướng dẫn sử dụng PHP, nó nói về tất cả các kiểu bản ghi lỗi và tôi hiểu tất cả chúng ngoại trừ kiểu 3, cho biết thông báo lỗi được gửi trực tiếp đến trình xử lý ghi nhật ký SAPI. Câu hỏi của tôi là SAPI chính xác là gì và khi nào bạn muốn sử dụng nó?SAPI là gì và khi nào bạn sẽ sử dụng nó?

Trả lời

35

SAPI là viết tắt của "API máy chủ". Đây là cơ chế điều khiển sự tương tác giữa "thế giới bên ngoài" và công cụ PHP/Zend. Vì vậy, bạn sẽ luôn luôn muốn sử dụng nó. Trong thực tế, bạn không thể tránh sử dụng nó mà không có nhiều nỗ lực kể từ khi CLI được coi là một SAPI.

+24

+0, Cần xây dựng. – Pacerier

+3

Vậy làm thế nào để bạn tìm ra những gì trình ghi nhật ký SAPI của bạn đang chạy trên cấu hình đang chạy được lắp ráp bởi người bảo trì gói của bạn? (để làm cho nó đăng nhập các thông điệp bạn tuyệt vọng muốn xem :).) – n611x007

14

Từ Wikipedia:

Nói cách khác, SAPI thực sự là một giao diện lập trình ứng dụng (API) được cung cấp bởi các máy chủ web để giúp các nhà phát triển khác trong việc mở rộng khả năng máy chủ web.

Ví dụ, PHP có giao diện mô-đun trực tiếp được gọi là SAPI cho các máy chủ web khác nhau; trong trường hợp PHP 5 và Apache 2.0 trên Windows, nó được cung cấp dưới dạng tệp DLL gọi là php5apache2.dll, là một mô-đun, trong số các chức năng khác, cung cấp giao diện giữa PHP và máy chủ web, được thực hiện dưới dạng máy chủ hiểu. Biểu mẫu này được gọi là SAPI.

Có nhiều loại SAPI khác nhau cho các tiện ích mở rộng máy chủ web khác nhau. Ví dụ, hai SAPI khác cho ngôn ngữ PHP là Common Gateway Interface (CGI) và giao diện dòng lệnh (CLI).

14

SAPI (Server Application Programming Interface) cũng biết như ISAPI (Internet Server Application Programming Interface) cho Microsoft, NSAPI (Netscape server Application Programming Interface) cho Netscape.

API ý nghĩa.

Đối với nhà phát triển web, bạn có thể nghĩ về API như REST, SOAP. Bạn gọi một liên kết bạn nhận được dữ liệu từ máy chủ. Nó cho phép bạn tương tác với máy chủ web.

SAPI khác với REST hoặc SOAP, SAPI là API (hợp đồng) được sử dụng cho máy chủ.

Ví dụ: Giao diện cổng chung là SAPI. Nếu một máy chủ web hỗ trợ CGI và một chương trình thực thi khác thực hiện nó để máy chủ web có thể inteface và tạo các trang web động.

Nhìn hình dưới đây:

SAPI apache and php

mod_php thực hiện một giao diện mà apache và php có thể hiểu nhau.

Vì vậy, SAPI chính xác là gì: Đây là hợp đồng giữa Máy chủ (bất kỳ loại máy chủ nào) và chương trình. Chỉ cần làm theo hợp đồng và họ không cần biết các chi tiết phụ khác.

+0

Bạn có thể cho tôi biết bức ảnh này được lấy từ đâu không?Tôi đang tìm một số tài liệu về chủ đề với chính xác loại hình minh họa đồ họa này. – dwytrykus

+0

Tôi không nhớ chính xác. Sau khi tìm kiếm một số điều cũ. Tôi tìm thấy một: http://www.slideshare.net/do_aki/php-and-sapi-and-zendengine2-and. Hy vọng rằng giúp đỡ. –

Các vấn đề liên quan