2011-02-04 33 views
5

Tôi có Linux Ubuntu 10.10 và khi tôi chạy dưới đây trong một thiết bị đầu cuối:file đa php.ini trong hệ thống của tôi

php -i | grep php.ini 

Tôi có File cấu hình được nạp =>/etc/php5/cli/php. ini

trong khi nếu tôi sử dụng phpinfo() trong trình duyệt nó sẽ là:

Loaded Configuration file /etc/php5/apache2/php.ini

Điều đó có nghĩa là có các tệp ini khác nhau theo php_sapi_name !!

bây giờ câu hỏi là làm thế nào tôi có thể đặt cùng một php.ini cho tất cả các tác nhân người dùng (trình duyệt, cli, v.v.) mà không sao chép cùng một tệp vào các vị trí khác nhau !?

+0

Để riêng cấu hình SAPI riêng lẻ (do các thời gian chạy khác nhau không nên là hợp chất vì lý do bảo mật và hiệu quả). Nếu bạn muốn thiết lập ghi đè, hãy tạo tập lệnh tùy chỉnh dưới dạng '/ etc/php5/conf.d/your.ini' – mario

Trả lời

1

đôi khi bạn có thể có nhiều hơn một php.ini để quản lý các giao diện hoặc các trang web ví dụ khác nhau mà bạn có thể có php.ini khác nhau cho mỗi trang web bạn lưu trữ trên máy chủ của bạn bằng cách thiết lập PHPINIDir trong virtualhost của bạn như sau

 
<VirtualHost 10.24.11.2:80> 
ServerName foo.com 
ServerAlias www.foo.com 
PHPINIDir /var/www/html/foo 
</VirtualHost> 

Tuy nhiên, nếu bạn muốn thực hiện chỉ có một php.ini cho tất cả các giao diện, cách duy nhất là sử dụng liên kết tượng trưng như sau:
ln -s /etc/php5/cli/php.ini/etc/php5 /apache2/php.ini

1

Bạn có thể sử dụng liên kết tượng trưng.

ln -s /etc/php5/cli/php.ini /etc/php5/apache2/php.ini 
2

Tôi không nghĩ rằng việc thiết tất cả các bối cảnh php khác nhau để sử dụng cùng một cấu hình là một ý tưởng tốt ở nơi đầu tiên nhưng nếu bạn thực sự muốn, bạn chỉ có thể có một php.ini và tất cả những người khác là các liên kết tượng trưng.

Tôi không nghĩ rằng có một cách để thay đổi hành vi của php như tập tin mà nó sẽ bao gồm mà không có ít nhất là biên dịch lại nó.

1

Điều gì sẽ thay thế một trong số chúng bằng một liên kết tượng trưng?

1

Bạn có thể sử dụng liên kết tượng trưng (Apache đang sử dụng kỹ thuật này cho các trang web khả dụng và bật trang web). Vì vậy, điều hướng đến

cd /etc/php5/ 

và sao chép tập tin php.ini mong muốn của bạn ở đó, sau đó điều hướng đến cli/và apache2/- loại bỏ php.ini (mv hoặc rm nó) và sau đó chạy

cd /etc/php5/apache2 
mv php.ini php.ini.bkp 
ln -s php.ini ../php.ini 

Điều này sẽ tạo một liên kết tượng trưng đến php.ini trong thư mục/etc/php5/apache2/và/etc/php5/cli /.

Lưu ý: Thực hành tốt là có sự khác biệt. Các tập tin php.ini, cho cli có vài phần mở rộng không tải được và nhiều hơn nữa. :)

+0

Ồ, tôi vẫn không chú ý đến tiêu đề màu cam nhỏ này cho tôi biết, trong khi tôi viết xuống câu trả lời của tôi. – ludesign

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