2011-08-26 33 views
62

Tôi đang tải PHP cho Windows. Tôi có 2 lựa chọn trên trang web.Chủ đề an toàn và không an toàn của PHP cho Windows

  1. PHP Chủ đề Safe
  2. PHP Non-Thread Safe

Hãy trả lời các câu hỏi sau:

  1. sự khác biệt giữa hai là gì? Lợi thế và bất lợi của là gì?
  2. Tôi đang phát triển một trang web thương mại điện tử sẽ có lưu lượng truy cập lớn, lưu lượng truy cập nào là cao hơn và tại sao?
+1

bản sao có thể có của [Chủ đề an toàn hoặc không an toàn trong PHP] là gì (http://stackoverflow.com/questions/1623914/what-is-thread-safe-or-non-thread-safe-in-php) – Shef

+0

Bạn hiểu gì về "lưu lượng truy cập lớn" và bạn có thể chắc chắn rằng mình sẽ đạt được điều đó như thế nào? – Crack

+0

@ Crack- Lưu lượng truy cập lớn nghĩa là nhiều người dùng sẽ sử dụng trang web tại một thời điểm nhất định. Tại sao tôi không thể chắc chắn về điều đó ?! Có gì sai với nó? –

Trả lời

69

Từ tài liệu PHP:

Chủ đề an toàn có nghĩa là nhị phân có thể làm việc trong một bối cảnh webserver đa luồng, chẳng hạn như Apache 2 trên Windows. Chủ đề An toàn hoạt động bằng cách tạo bản sao lưu trữ cục bộ trong mỗi chuỗi để dữ liệu sẽ không xung đột với một chuỗi khác.

Vì vậy, tôi nên chọn gì? Nếu bạn chọn chạy PHP dưới dạng nhị phân CGI, thì bạn sẽ không cần an toàn luồng, vì nhị phân được gọi ra theo từng yêu cầu. Đối với máy chủ web đa luồng, chẳng hạn như IIS5 và IIS6, bạn nên sử dụng phiên bản luồng của PHP.

Vì vậy, nó thực sự phụ thuộc vào cách mà bạn muốn sử dụng PHP:

  • Apache + LoadModule: Người Gởi Safe
  • Apache + FastCGI: Non-Chủ đề Safe
  • IIS: Người Gởi Safe
  • IIS + FastCGI: Không an toàn chủ đề

Hướng dẫn sử dụng PHP có đẹp installation instructions.

AFAIR chạy PHP với FastCGI là cách thích hợp hơn, nó hoạt động nhanh hơn và cho phép cấu hình bảo mật chi tiết hơn.

+9

[This] (http://windows.php.net/download/) trang nói rằng: "Nếu bạn đang sử dụng PHP với IIS, bạn nên sử dụng các phiên bản không an toàn (NTS) của PHP". so với câu trả lời cho biết: "IIS: Thread Safe" – umutm

+6

Có, và nó đề cập đến FastCGI. Chủ đề An toàn là dành cho khi sử dụng ISAPI (php5isapi.dll) – Crack

+0

Tại sao phải bận tâm với tùy chọn không an toàn cho luồng? Nó giống như: nếu tôi có thể lựa chọn giữa việc mua một chiếc xe an toàn và một chiếc xe không an toàn, tại sao tôi lại chọn chiếc xe không an toàn? Nó hoạt động tốt hơn hay gì đó? –

0

Ngoài Crack, kể từ 5.4 bạn có thể sử dụng máy chủ web tích hợp (nó hoạt động tốt!).

+10

Bạn cần phải thêm một số loại tham chiếu đến những gì bạn đang nói về. Máy chủ web tích hợp nào? Làm thế nào điều này liên quan đến ThreadSafe vs NotThreadSafe? – Despertar

0

Nhanh chóng và đơn giản: Nếu bạn đang sử dụng Apache, hãy chỉnh sửa tệp Apache24 \ conf \ httpd.conf của bạn và tìm kiếm "loadmodule". Nếu bạn thấy LoadModule bạn đang tham chiếu một cái gì đó .dll như:

LoadModule php7_module "e: /x64Stack/PHP/php7.1.9/php7apache2_4.dll"
ứng dụng AddHandler/x-httpd-php .php
PHPIniDir "e: /x64Stack/PHP/php7.1.9"

Sau đó, bạn muốn chủ đề an toàn được kích hoạt hoặc TS - chủ đề an toàn phiên bản.

Khác nếu bạn đang sử dụng IIS hoặc Apache với CGI thì hương vị NTS.

Tôi sử dụng nhiều ngăn xếp và trong nhiều máy chủ và phiên bản PHP đó, vì vậy đừng để các đường dẫn/phiên bản máy chủ hoặc máy chủ ném bạn.

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