programing

PHP max_input_vars

copyandpastes 2023. 1. 22. 22:55
반응형

PHP max_input_vars

나 지금 받고 있어max_input_vars에러 메시지

제가 아는 바로는php.ini버전 5.3.9부터 이 설정을 변경할 수 있지만 버전 5.1.6을 실행하고 있습니다.

5.1.6 서버의 설정 정보를 표시하면,max_input_vars값은 1000 입니다.

질문: 5.1.6을 실행하고 있는데 이 설정은phpinfo()하지만 그것은 그 안에 있지 않다.php.ini파일입니다. 이 버전의 PHP에서는 값이 하드 코딩되어 있어 변경할 수 없는 것입니까?

PHP net 참조:

http://php.net/manual/en/info.configuration.php#ini.max-input-vars

함수가 있는 런타임에는 이 지시문을 설정할 수 없습니다.ini_set(name, newValue),예.

ini_set('max_input_vars', 3000);

그것은 작동하지 않을 것이다.

설명서에서 설명한 바와 같이 이 디렉티브는 디렉토리 범위별로만 설정할 수 있습니다.즉, .htaccess 파일, httpd.conf 또는 .user.ini(PHP 5.3 이후)를 통해 설정할 수 있습니다.

http://php.net/manual/en/configuration.changes.modes.php 를 참조해 주세요.

명령을 php.ini에 추가하거나 다음 행을 .htaccess에 배치하면 됩니다.

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

php.ini에 추가하면 동작합니다.PHP 5.3.6에서 테스트만 하면 됩니다.

5.3.3에서 이 수정을 시도했지만 변경되지 않았습니다.구글에서 검색해 보니 이 웹페이지 http://anothersysadmin.wordpress.com/2012/02/16/php-5-3-max_input_vars-and-big-forms/에서 Debian의 Apache가 사용하는 Suhosin 패치를 서버가 사용하는 경우 변경이 필요한 기타 설정을 자세히 볼 수 있었습니다.

사이트 설명:

따라서 이 수를 기본 수인 1000에서 3000으로 늘리려면 다음 행을 php.ini에 입력해야 합니다.

max_input_disples = 3000 suhosin.post.max_disples = 3000 suosin.request.max_disples = 3000

테스트(/etc/php5/apache2와 /etc/php5/cli 둘 다에서 php.ini에 설정을 추가하고 Apache를 정상적으로 재시작)했지만 phpinfo에는 max_input_vars 변수가 없습니다.

몇몇 사이트에서는 이 변경이 적용되는 첫 번째 PHP 버전으로 PHP 5.3.9를 지목하고 있습니다.따라서 RTM이 제대로 되지 않은 저의 잘못은 5.3.3보다 크지만 5.3.9보다 작다고 하는 사람들이 보고하는 것에 관심이 있습니다.

이제 2018년입니다.그리고 나는 이 문제에 대해 막혔다 내가 요청을 보내야 할 때max_input_vars 저 를 다시 max_input_varsparam. param을 만 했기 입니다. 왜냐하면 나는 단지 다시 시작하려고만 했기 때문이다.apache2 단 php fpm은 .

  1. at 코 uncom 。/etc/php/7.0/fpm/php.ini 대로 .
    max_input_vars = 4000
  2. 7php fpm을 서비스를 합니다. 므,,,는,
    sudo service php7.0-fpm restart

이 되었으면
★★★★★★에서 테스트 .Debian Stretch,php7.0

php.ini 파일의 max_input_vars 값을 언코멘트하고 값을 늘려야 합니다(exp. 2000).또, 서버를 재기동하는 것도 잊지 말아 주세요.이것은 99,99 %에 도움이 됩니다.

이 디렉티브를 사용하면 해시 콜리전을 사용하는 서비스 거부 공격의 가능성을 줄일 수 있습니다.이 디렉티브에 의해 지정된 수보다 많은 입력 변수가 있는 경우 E_WARNING이 발행되며 이후 입력 변수는 요청에서 잘립니다.

디폴트값인 1000을 연장하지 말고 요청을 시리얼화하거나 블록 단위로 요청을 전송하여 애플리케이션 기능을 확장하도록 제안할 수 있습니다.그렇지 않으면 필요한 구성으로 확장할 수 있습니다.

반드시 php.ini로 설정해야 합니다.

이 파일은 Centos6에서 동작하던 "php.ini"가 아닌 Centos7의 ".user.ini" 파일에 입력해야 합니다.임의의 서브 디렉토리에 「.user.ini」를 붙여, 그 디렉토리에만 영향을 줄 수 있습니다.

.user.ini:

max_input_vars = 3000

Centos7 및 PHP 5.6.33에서 테스트 완료.

php_value max_input_input 6000

"이 행을 사이트의 .htaccess 파일에 저장하십시오."

워드프레스에 메뉴 항목을 추가하는 데 같은 문제가 발생했습니다.Ubuntu 18.04, PHP 7.0 Wordpress 4.9 Wress 4.9입니다. 다음 요./etc/php/7.0/apache2/php.ini

; How many GET/POST/COOKIE input variables may be accepted<br>
max_input_vars = 1500

그런 다음 다음을 사용하여 변경 내용을 적용하십시오.

sudo apache2ctl configtest  #(if it does not return ok Apache will not start)
sudo service apache2 reload

도움이 됐으면 좋겠다.

"PHP 메시지: PHP 경고:알 수 없음: 입력 변수가 1000을 초과했습니다.제한을 늘리려면 php.ini에서 max_input_vars를 변경합니다.

이 php 설정 파라미터 max_input_vars는 GET/POST/CUKIES 파라미터뿐만 아니라 폼 입력도 제어합니다.

값을 설정 또는 변경하려면 다음 단계를 따릅니다.

1) 기존 설정/값을 php.ini 파일에서 확인하세요.php.ini 파일을 찾습니다.

<?php echo getinfo(); ?>

아래 키: 로드된 구성 파일: /etc/php/5.6/fpm/php.ini

2) 편집 가능한 모드로 php.ini 파일을 열고 max_input_vars 를 검색합니다.이 행은 디폴트값 1000 으로 코멘트 할 수 있습니다.따라서 삭제해 주세요.코멘트를 해제하고 적절한 값으로 편집합니다(예: 2500).

3) 3) PHP를 합니다.sudo service php5.6-fpm restart

마찬가지로 다른 유사한 PHP 구성을 쉽게 업데이트할 수 있습니다.

보완하기 위해서.mod_suphp를 사용하는 공유 서버에서도 같은 문제가 발생했습니다.

4개의 max_input_vars(suhosin 포함)를 선언해도 해결되지 않고 1000개의 vars(기본값)를 계속 잘라내고 .htaccess에서 "php_value max_input_vars 6000"을 선언하면 오류 500이 발생하였습니다.

해결된 것은 .htaccess에 다음 항목을 추가하면 해당 경로에 php.ini 파일이 재귀적으로 적용됩니다.

suPHP_ConfigPath /home/myuser/public_html

wodby 같은 것을 사용하고 있는 경우(docker4php ★★★★★★★★★★★★★★★★★」docker4drupal또는 lando 또는 "왜 php.ini가 작동하지 않는가"(나처럼)라는 답을 찾으려 할 때 이러한 툴들은 설정을 php로 전달하기 위해 그들만의 방법을 사용하고 있습니다.

https://github.com/wodby/php#php-and-php-fpm-configuration

max_input_vars를 wodby+docker-configure로 설정하려고 했습니다.

  php:
    image: wodby/drupal-php:$PHP_TAG
    container_name: "${PROJECT_NAME}_php"
    environment:
      PHP_MAX_INPUT_VARS: 9999

새로운 Cpanels 블록은 .htaccess 파일을 표시하거나 .user.ini를 추가하면 볼 수 없지만 약간의 해킹으로 실행할 수 있습니다.예를 들어 wp-config를 편집합니다.php 및 URL 바에서 wp-config를 바꿉니다.php by .htaccess에서 값을 붙여 저장할 수 있게 되었습니다.여기에 이미지 설명 입력

예, php.ini에 추가하고 apache를 재시작하면 작동합니다.

해 보고 해 볼 수 요.ini_set("max_input_vars",100)

언급URL : https://stackoverflow.com/questions/10303714/php-max-input-vars

반응형