Câu trả lời:
Sử dụng mod_php mỗi công nhân Apache có toàn bộ trình thông dịch PHP được tải vào nó. Vì Apache cần một quy trình công nhân cho mỗi yêu cầu đến, nên bạn có thể nhanh chóng kết thúc với hàng trăm công nhân Apache đang sử dụng, mỗi công cụ có trình thông dịch PHP của riêng họ được tải, tiêu tốn một lượng lớn bộ nhớ.
(Lưu ý, đây không phải là hoàn toàn chính xác, Apache worker_mpm
cho phép bạn phục vụ nhiều yêu cầu với một nhân viên Apache luồng duy nhất. Tuy nhiên, ngay trong năm 2009, đây không phải là cách đề nghị để triển khai PHP vì nghi ngờ vấn đề luồng với các phần mở rộng PHP.)
Bằng cách sử dụng PHP trong chế độ fast_cgi (sử dụng cái gì đó như spawn-fcgi từ gói lighttpd) có những lợi ích sau
FastCGI có nghĩa là các bit php không chạy trong cùng tiến trình với các bit apache, không giống như mod_php. Sự tách biệt này có thể có một số lợi thế nhất định khi khởi động lại máy chủ hoặc xử lý các ứng dụng chạy trốn - trong trường hợp mod_php có nghĩa là đó là quá trình apache "chạy trốn", nhưng theo fastcgi, đó chỉ là một quá trình mà apache đang nói đến, vì vậy toàn bộ máy chủ không cần phải gỡ xuống.
Một ưu điểm khác chưa được đề cập là với mod_fcgid
(đó là một triển khai mới hơn để sử dụng FastCGI trên Apache) và suexec bạn có thể nhận ra các thiết lập trong đó các vhost khác nhau sử dụng các người dùng Linux khác nhau để thực thi, có thể là một lợi ích bảo mật thực sự trong szenario lưu trữ được chia sẻ .
Với mod_php, tất cả các vhost đều có chung một người dùng, đó là người dùng của Apache. Điều này có thể dẫn đến các vấn đề bảo mật.