2009-07-31 18 views
13

Apache cho phép bạn đặt giá trị php.ini cho máy chủ ảo bằng chỉ thị php_value.Đặt php include_path từ nginx

Nginx có tương tự không? Có cách nào khác để đặt include_path trên cơ sở từng trang không?

Trả lời

24

Bây giờ, chúng ta có thể làm theo cách này:

fastcgi_param PHP_VALUE "include_path=/my/include/path"; 

biết thêm thông tin ở đây: http://bugs.php.net/bug.php?id=51595

Sử dụng kỹ thuật này để đặt giá trị php, tôi đã đặt thành công các vị trí "error_log" khác nhau cho nhiều máy chủ ảo.

Xin cảm ơn, các bạn PHP và NginX!

+0

Điều đó thật tuyệt vời! Tốt hơn rất nhiều! –

+0

Phiên bản PHP là gì? – ColinM

+0

Đây không phải là một cách tốt để đi. Tôi đã làm điều này và thay đổi trong một vhost và nó được thêm vào các thiết lập này trên toàn cầu, hoàn toàn phá vỡ các vhost khác. –

1

Sean, php_value và php_admin_value sẽ không hoạt động với nginx. Đây là một hạn chế của php-cgi và không nginx.

Bạn có thể làm việc này bằng cách bắt đầu từ nhiều trường hợp của PHP và đi qua trong một php.ini tùy chỉnh như sau:

php-cgi -c /path/to/php.ini 

Bạn cũng có thể thiết lập các đường dẫn bao gồm một cách rõ ràng trong mã PHP của bạn như sau:

$paths = array(
    PATH_PROJECT . 'lib/', 
    PATH_PROJECT . 'lib/Doctrine/lib', 
    PATH_PROJECT . 'application/doctrine/mappers/', 
    PATH_PROJECT . 'application/lib', 
    PATH_PROJECT . 'application/modules/', 
    PATH_PROJECT . 'lib/classes', 
    PATH_PROJECT . 'application/lib/reports/', 
    get_include_path() 
); 

set_include_path(implode(PATH_SEPARATOR, $paths)); 
unset($paths); 
+0

Cảm ơn! Tôi cũng tìm thấy liên kết này http://forum.slicehost.com/comments.php?DiscussionID=3087 - thiết lập nó bằng cách sử dụng php chính nó là không khả thi vì cách dự án được thiết lập (không có bộ điều khiển phía trước). –

+0

Tôi đã chuyển sang câu trả lời mới hơn –

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