2012-04-02 28 views
19

Tôi có thể đặt chỉ thị max.input_vars PHP.ini trong mã của mình không? Tôi có nó đặt ở 1000 mặc định, tuy nhiên tôi có một kịch bản có nhiều hộp kiểm và các trường văn bản có thể, và khá có thể sẽ, vượt quá giới hạn 1000.thiết lập chỉ thị max.input_vars PHP.ini bằng cách sử dụng ini_set

Tôi đang sử dụng PHP 5.3.10 và tôi không gặp phải bất kỳ lỗi nào khi thực hiện việc này. Ngoài ra, tôi không thể tìm thấy bất kỳ tài liệu nào nói rằng tôi không thể làm điều này.

ini_set('max_input_vars', 3000); 

Cảm ơn.

+2

Bản sao có thể có của [PHP max \ _input \ _vars] (http://stackoverflow.com/questions/10303714/php-max -input-vars) –

Trả lời

45

max_input_vars có một chế độ thay đổi của PHP_INI_PERDIR có nghĩa là nó không thể thay đổi sử dụng ini_set (chỉ trong php.ini, .htaccess hoặc httpd.conf)

+8

Và lý do chính là chỉ thị đã có hiệu lực khi mã PHP bắt đầu chạy. –

+7

Đối với người đọc trong tương lai, hãy thêm vào .htaccess của bạn: php_value max_input_vars 3000 –

+0

@MichaelCalkins là có thể thực hiện 'php_value max_input_vars 3000' bằng .htaccess để chỉ làm việc cho một tệp php chứ không phải cho tất cả? – AldoB

2

Tôi biết nhiều người tránh truy cập vào php.ini do một lý do nào cai khac. do đó, một cách khác là tạo một tệp .htaccess trong thư mục hoạt động và thêm các mã sau đây và đặt giá trị thành giá trị cao hơn. Chỉ cần thêm chúng trực tiếp không cần phải khởi tạo bất cứ điều gì trong .htaccess tập tin

php_value max_input_vars 3000 
php_value suhosin.get.max_vars 3000 
php_value suhosin.post.max_vars 3000 
php_value suhosin.request.max_vars 3000 

Giải pháp này làm việc cho tôi mà không cần truy cập vào các tập tin php.ini. vì một số nhà cung cấp dịch vụ lưu trữ web cho chúng tôi một thời gian khó khăn khi chúng tôi muốn truy cập vào tệp php.ini

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