Hướng dẫn unknown: input variables exceeded 1000 to increase the limit change max_input_vars in php ini - không xác định: biến đầu vào vượt quá 1000 để tăng giới hạn thay đổi max_input_vars trong php ini

Tôi phát hiện ra rằng cách đúng để xử lý dữ liệu JSON trực tiếp trong PHP (thông qua file_get_contents('php://input')) là để đảm bảo yêu cầu đặt đúng loại nội dung, tức là

$rawData = file_get_contents('php://input');
$postedJson = json_decode($rawData,true);
if(json_last_error() != JSON_ERROR_NONE) {
  error_log('Last JSON error: '. json_last_error(). 
    json_last_error_msg() . PHP_EOL. PHP_EOL,0);
}
0 trong tiêu đề yêu cầu HTTP.

Trong trường hợp của tôi, tôi đang yêu cầu các trang từ PHP bằng cách sử dụng Curl với mã này:

function curl_post($url, array $post = NULL, array $options = array()) {
  $defaults = array(
    CURLOPT_POST => 1,
    CURLOPT_HEADER => 0,
    CURLOPT_URL => $url,
    CURLOPT_FRESH_CONNECT => 1,
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_FORBID_REUSE => 1,
    CURLOPT_TIMEOUT => 600
  );
  if(!is_null($post))
    $defaults['CURLOPT_POSTFIELDS'] = http_build_query($post);
  $ch = curl_init();
  curl_setopt_array($ch, ($options + $defaults));
  if(($result = curl_exec($ch)) === false) {
    throw new Exception(curl_error($ch) . "\n $url");
  }
  if(curl_getinfo($ch, CURLINFO_HTTP_CODE) != 200) {
    throw new Exception("Curl error: ". 
      curl_getinfo($ch, CURLINFO_HTTP_CODE) ."\n".$result . "\n");
  }
  curl_close($ch);
  return $result;
}

$curl_result = curl_post(URL, NULL,
    array(CURLOPT_HTTPHEADER => array('Content-Type: application/json'),
      CURLOPT_POSTFIELDS => json_encode($out))
    );

Xin lưu ý phần

$rawData = file_get_contents('php://input');
$postedJson = json_decode($rawData,true);
if(json_last_error() != JSON_ERROR_NONE) {
  error_log('Last JSON error: '. json_last_error(). 
    json_last_error_msg() . PHP_EOL. PHP_EOL,0);
}
1.

Về phía nhận, tôi đang sử dụng mã sau:

$rawData = file_get_contents('php://input');
$postedJson = json_decode($rawData,true);
if(json_last_error() != JSON_ERROR_NONE) {
  error_log('Last JSON error: '. json_last_error(). 
    json_last_error_msg() . PHP_EOL. PHP_EOL,0);
}

Không thay đổi biến

$rawData = file_get_contents('php://input');
$postedJson = json_decode($rawData,true);
if(json_last_error() != JSON_ERROR_NONE) {
  error_log('Last JSON error: '. json_last_error(). 
    json_last_error_msg() . PHP_EOL. PHP_EOL,0);
}
2. Kể từ khi thay đổi yêu cầu đặt tiêu đề đúng vấn đề của tôi với
$rawData = file_get_contents('php://input');
$postedJson = json_decode($rawData,true);
if(json_last_error() != JSON_ERROR_NONE) {
  error_log('Last JSON error: '. json_last_error(). 
    json_last_error_msg() . PHP_EOL. PHP_EOL,0);
}
2 đã biến mất. Rõ ràng không đánh giá các biến bài với một số
$rawData = file_get_contents('php://input');
$postedJson = json_decode($rawData,true);
if(json_last_error() != JSON_ERROR_NONE) {
  error_log('Last JSON error: '. json_last_error(). 
    json_last_error_msg() . PHP_EOL. PHP_EOL,0);
}
4 được đặt.
Since changing the request to set right headers my issue with
$rawData = file_get_contents('php://input');
$postedJson = json_decode($rawData,true);
if(json_last_error() != JSON_ERROR_NONE) {
  error_log('Last JSON error: '. json_last_error(). 
    json_last_error_msg() . PHP_EOL. PHP_EOL,0);
}
2 went away. Apparently does not PHP evaluate the post variables with certain
$rawData = file_get_contents('php://input');
$postedJson = json_decode($rawData,true);
if(json_last_error() != JSON_ERROR_NONE) {
  error_log('Last JSON error: '. json_last_error(). 
    json_last_error_msg() . PHP_EOL. PHP_EOL,0);
}
4 is set.

← Tài liệu ServerPilot

Nếu ứng dụng PHP của bạn hiển thị lỗi sau:

Warning: Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0

Bạn đã vượt quá các biến đầu vào tối đa cho ứng dụng của bạn.

Đừng lo; Bạn có thể dễ dàng giải quyết điều này với tệp .user.ini.

Đầu tiên, hãy tạo một tệp có tên .User.ini trong thư mục gốc web của ứng dụng của bạn.

apps/APPNAME/public/.user.ini

Hướng dẫn unknown: input variables exceeded 1000 to increase the limit change max_input_vars in php ini - không xác định: biến đầu vào vượt quá 1000 để tăng giới hạn thay đổi max_input_vars trong php ini

Sau đó, nhập dòng sau với giá trị mới cho các biến đầu vào tối đa của ứng dụng của bạn:

max_input_vars = 5000

Ví dụ trên làm tăng đầu vào tối đa lên 5.000 biến.

Bạn có thể xác nhận tùy chỉnh này là chính xác bằng cách tạo một tập lệnh PHP khác chỉ chứa dòng sau:

<?php phpinfo(); ?>

Yêu cầu tệp đó thông qua trình duyệt của bạn và bạn sẽ thấy giá trị cục bộ mới cho cài đặt đã sửa đổi của mình khi bạn tìm kiếm trang cho MAX_INPUT_VARS.

& Nbsp; max_input_vars là số lượng biến mà trang web của bạn có thể sử dụng để chạy một hàm.

Bạn có thể đã biết điều này, nhưng nếu ai đó gặp lỗi tương tự như "CẢNH BÁO PHP: Không xác định: Các biến đầu vào vượt quá 1000. Để tăng giới hạn thay đổi MAX_INPUT_VARS trong php.ini" Điều này sẽ giúp đặt rằng giá trị cao hơn để có thể chạy Tất cả các biến cần thiết.

Chỉ thị có thể được đặt trong & nbsp; ________ 15, & nbsp; ________ 16 & nbsp;, & nbsp; ________ 17 & nbsp; hoặc & nbsp; Để có quyền truy cập vào các tệp này, bạn sẽ cần thông tin đăng nhập FTP. Nếu bạn không có những thứ này, vui lòng liên hệ với nhà cung cấp dịch vụ lưu trữ của bạn.

Trước khi bạn thay đổi tất cả các tệp đó, chúng tôi khuyên bạn nên cập nhật trang web của mình lên phiên bản PHP mới nhất. Điều này là do một số phiên bản PHP cũ hơn sẽ giới hạn MAX_INPUT_VARS thành một cái gì đó như 1000, ngay cả khi bạn chỉ định số cao hơn. Chúng tôi luôn khuyên bạn nên sử dụng phiên bản ổn định mới nhất của PHP có sẵn tại PHP.NET. Bạn cũng có thể kiểm tra xem phiên bản mà công ty lưu trữ của bạn cung cấp và sử dụng phiên bản mới nhất mà họ cung cấp, vì chúng có thể không phải lúc nào cũng cung cấp phiên bản mới nhất mà PHP.NET cung cấp khi họ phải kiểm tra trước.

Dưới đây là cách tăng giá trị max_input_vars:

  1. Trong cài đặt gốc WordPress của bạn định vị các tệp sau: ________ 15, & nbsp; ________ 16, & nbsp; ________ 17 & nbsp; hoặc & nbsp;
  2. Chỉnh sửa tệp và dán mã chỉ thị
  3. Khi bạn đã thực hiện các thay đổi, hãy lưu tệp. Nếu bạn đã tải xuống tệp để thực hiện thay đổi này, hãy tải nó trở lại máy chủ của bạn và ghi đè tệp hiện có.

Chỉ thị cho .htaccess

php_value max_input_vars 2500

Chỉ thị cho php.ini hoặc user.ini

max_input_vars=2500

Chỉ thị cho wp-config.php

@ini_set( 'max_input_vars' , 2500);

Giới hạn được đề xuất tối thiểu là 2500. Do đó, nếu trang web của bạn có giá trị cao hơn thì hãy giữ nó theo cách đó, nếu không thì chúng tôi khuyên bạn nên sử dụng 2500.

Điều này có trả lời câu hỏi của bạn không? Cảm ơn vì sự phản hồi là một vấn đề gửi phản hồi của bạn. Vui lòng thử lại sau. Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Vẫn cần trợ giúp? Liên hệ với chúng tôi liên hệ với chúng tôi

Cập nhật lần cuối vào ngày 10 tháng 11 năm 2021

Max_input_vars trong PHP INI là gì?

MAX_INPUT_VARS là một cài đặt được quản lý thông qua tệp cài đặt PHP (php.ini) giới hạn số lượng đầu vào bạn có thể đặt khi đăng biểu mẫu. Các chế độ chỉnh sửa thuế quan và chỉnh sửa thuế quan tiêu chuẩn cho phép bạn có quyền kiểm soát chính xác giá của mỗi ngày trong tài sản của bạn, cho mỗi loại phòng.a setting managed through the PHP setting file (php. ini) which limits the number of inputs you can set when posting forms. The Jomres Micromanage and Standard tariff editing modes allow you to have precise control over the price of each and every day in your property, for each room type.

Làm thế nào để bạn sửa lỗi cài đặt php max_input_vars phải ít nhất 5000?

Nếu bạn tạo PHP của riêng bạn. Tệp INI, sau đó thêm cùng một mã bên trong nó: max_input_vars = 5000 chỉ cần thay đổi giá trị thành giá trị được đề xuất. Ví dụ: 5000. Lưu các thay đổi của bạn và khởi động lại Localhost hoặc máy chủ của bạn.change the value to the recommended value. For example, 5000. Save your changes, and reboot your localhost or your server.

Làm thế nào để bạn tăng giới hạn thời gian tối đa của PHP và các biến đầu vào tối đa?

1 Phương pháp: Chỉnh sửa PHP ...
Xác định vị trí PHP của bạn.Tệp INI.....
Nếu bạn tìm thấy PHP hiện tại của bạn.ini, mở tệp và xác định vị trí dòng mã sau (xx đại diện cho một số): max_input_vars = xx;Và đặt nó đến giới hạn mong muốn của bạn.....
Nếu bạn tạo PHP của riêng bạn.....
Lưu các thay đổi của bạn và khởi động lại máy chủ cục bộ hoặc máy chủ của bạn ..

Tôi thay đổi các biến đầu vào PHP tối đa ở đâu?

Theo mặc định, số lượng biến đầu vào tối đa được phép cho các tập lệnh PHP được đặt thành 1000. Bạn có thể thay đổi số tiền này bằng cách đặt Chỉ thị MAX_INPUT_VARS trong tệp php.ini.Để xác minh giá trị hiện tại của Chỉ thị MAX_INPUT_VARS và các chỉ thị khác, bạn có thể sử dụng hàm phpinfo ().setting the max_input_vars directive in a php. ini file. To verify the current value of the max_input_vars directive and other directives, you can use the phpinfo() function.