2013-04-14 13 views
5

Tôi đã cố gắng thực hiện một vài thay đổi đối với php qua .htaccess, nhưng chưa có kết quả nào được đưa ra. Ví dụ:chỉ thị php bằng .htaccess?

php_value memory_limit 256M bên trong sẽ không kích hoạt.

Cố gắng đặt SetEnv PHPRC /home/username/public_html/php.ini hoặc bất kỳ câu chú thích tương tự nào, chẳng hạn như SetEnv PHPRC /home/username/some_path, sẽ không hoạt động bất kỳ sự khác biệt nào trong phpinfo. Tôi KHÔNG thấy rằng _SERVER["PHPRC"] thực sự được đặt, nhưng không có giá trị nào bị ghi đè như đã lưu ý ở trên.

phpinfo của tôi là như sau: https://gist.github.com/ylluminate/08efd9a2844723631214

Tôi tự hỏi nếu tôi là thiếu một module apache đó là không cho phép này để làm việc như mong đợi cho một php.ini tùy chỉnh hoặc phprc. Đây là một cài đặt Apache 2.4.4 trên VPS mà tôi có 100% control (Linode) và sử dụng WHM + cPanel.

+3

Điều này phụ thuộc vào cấu hình apache, nếu bạn đang ở trên một lưu trữ được chia sẻ, bạn có thể không may mắn vì bạn sẽ không thể sử dụng ini_set hoặc php.ini hay htaccess để thay đổi các giá trị liên quan đến cấu hình php, Lựa chọn tốt nhất của bạn là yêu cầu máy chủ của bạn thay đổi điều này cho vhost của bạn. – ahmad

+1

Nếu bạn đang sử dụng CGI/FastCGI, tại sao không thử '.user.ini' để ghi đè cài đặt? – mario

+0

@ahmad no, Tôi đang sử dụng VPS với 100% kiểm soát và sử dụng WHM/cPanel. – ylluminate

Trả lời

2

Vì PHP 5.3 bạn có thể sử dụng .user.ini tệp, do PHP được thiết lập để chạy qua CGI/FastCGI SAPI.
http://php.net/configuration.file.per-user

Đó là một phần mở rộng đơn giản của chính php.ini và cho phép xác định các lựa chọn tương đương:

memory_limit = 256M 
upload_tmp_dir = /tmp 

Thông thường, bạn có thể đặt một trong những trong DOCUMENT_ROOT. Nhưng mỗi thư mục có thể chứa một thư mục, vì vậy các tùy chọn có thể thay đổi theo mỗi tập lệnh/thư mục. Nó có nghĩa là thay thế hoàn toàn cho các chỉ thị thiết lập Apaches/mod_php .htaccess.