Tôi đã cố gắng hiểu ý nghĩa/mục đích chính xác của việc tải php làm mô-đun apache so với phần còn lại.mod_php vs cgi vs fast-cgi
Khi php được cài đặt làm mô-đun apache, điều gì xảy ra chính xác? Ví dụ, không đọc các tập tin php-ini xảy ra mỗi khi yêu cầu php đến hoặc khi các module php được tải một mình?
Vì vậy, để cụ thể hơn, hãy nói Nếu tôi có một biến có thể được sử dụng bởi tất cả các yêu cầu. Nói cách khác, giả sử chúng ta phải làm cho trình thông dịch php tìm kiếm các tệp liên quan đến đường dẫn cerstain (/ home/user/documents). Tôi có thể lưu trữ/home/user/documents trong một cấu hình và tải nó một lần vào một số biến toàn cầu? Bằng cách này, nếu người dùng phát hành file_get_contents ("new.txt"), nó được dịch sang file_get_contents ("/ home/user/documents/new.txt") –
Kiểm tra cài đặt PHP auto_prepend_file, nó sẽ cho bạn cơ hội để thêm vào PHP mã sẽ được chạy trước khi yêu cầu thực tế được phân tích cú pháp. bên trong tệp auto_prepended của bạn, sử dụng chdir() để thay đổi thư mục. Lưu ý rằng điều này sẽ chặn tất cả các hoạt động tệp, thậm chí bao gồm() và require()! –
@Karthick: Tại sao trình thông dịch PHP lưu trữ thông tin đó? Đó là loại thông tin cho mã của bạn để làm phiền về. Khi bạn không cung cấp đường dẫn tuyệt đối cho một tệp, nó có vẻ liên quan đến tập lệnh đang được trình thông dịch PHP thực hiện. Và không, các phiên bản thông dịch PHP khác nhau không thể và không được chia sẻ dữ liệu giữa chúng. – Anand