Tệp php.ini riêng cho mỗi máy chủ ảo Apache?


11

Có thể có một tệp php.ini riêng ghi đè tệp php.ini mặc định cho mỗi máy chủ ảo không? Tôi đang chạy Apache / 2.2.14, PHP 5.3.2-1.

Ví dụ: tôi có một số vhost trỏ đến tên miền trong /var/www/thư mục của mình :

/var/www/website1.com  
/var/www/website2.com

Điều tôi muốn là có thể đặt tệp php.ini tùy chỉnh trong mỗi thư mục chỉ ghi đè các giá trị mặc định cho vhost đó, nhưng vẫn giữ mặc định ban đầu nếu giá trị không được chỉ định:

/var/www/website1.com/htdocs/
/var/www/website1.com/php.ini

Chỉnh sửa
Đối với những người quan tâm, tôi đã tìm thấy thêm thông tin về chủ đề này tại Làm cách nào để thiết lập các tệp php.ini trên mỗi trang trên máy chủ LAMP bằng NameVirtualhosts? .

Câu trả lời:


6

Nếu bạn đang sử dụng mod_php, bạn có thể ghi đè các giá trị bạn muốn trong httpd.conf. Có các chỉ thị mô-đun:

php_value - PHP Value Modifier
php_flag - PHP Flag Modifier
php_admin_value - PHP Value Modifier (Admin)
php_admin_flag - PHP Flag Modifier (Admin)

Nếu không, bức ảnh tốt nhất của bạn là PHP FPM (google nó).


2
Vâng, tôi cũng có thể sử dụng .htaccess trong mỗi gốc vhost để thay đổi các giá trị, và từ những gì tôi đã đọc, đây là một cách tốt để làm điều đó. Nhưng tôi biết rằng tôi đã thấy một số webhost lưu trữ chia sẻ cho phép bạn ghi đè php.ini của họ bằng chính họ, vì vậy phải có một cách khác để làm điều đó phải không?

2

Nếu bạn đang sử dụng cgi (hoặc fastcgi hoặc fpm, cũng là fastcgi), bạn có thể sử dụng các .user.initệp .

Chỉ cần đặt một .user.initệp trong thư mục webroot của bạn với các tùy chọn php của bạn, như sau:

memory_limit=256M
upload_max_filesize=200M
post_max_size=200M

Và php sẽ mở rộng tệp php.ini chính với các tùy chọn đó.


-3

Thêm PHPINIDir trong thẻ Virtualhost và trỏ nó vào thư mục tệp php.ini mà vhost sẽ sử dụng.

<VirtualHost *:80>
[....]
PHPINIDir /var/www/web1
[....]
</VirtualHost>

lấy từ http://www.howtoforge.com/how-to-specify-a-custom-php.ini-for-a-website-apache2-with-mod_php

Chỉnh sửa 14/04/2010 12:30 pm EST: ** Nevermind, điều này đã thay đổi "Tệp cấu hình đã tải" cho tất cả các vhost. **


PHPINIDir tải php.ini cho TẤT CẢ các máy chủ ảo và không chỉ máy chủ mà bạn đặt nó. Tôi đã bị bắt khi giả sử như vậy :(
alandarev
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.