2012-11-27 3 views
1

사전 작업을 사용하고 있으며 변환 섹션에서 변환 변경 사항이 적용되도록 max_input_vars를 변경해야합니다.ini_set이 동일한 스크립트에서 작동하지 않습니다.

내 호스팅 제공 업체 정책 때문에 .htaccess에서 php_value를 사용할 수 없으므로 php.ini 파일을 사용해야합니다. 나는 내용으로 PrestaShop 버전 관리 폴더를 만들었습니다

max_input_vars = 3000

하지만 번역을 업데이트 할 때는 PHP로 변경되지 않는, 그래서 내가 max_input_vars의 오류가 발생합니다. ini. 또한 공백없이 ";" 아무 효과가 없습니다.

이를 확인하기 위해 phpinfo()로 파일을 만들었고 1000 (기본값)으로 설정되었다고 알려줍니다. phpinfo 호출 바로 위의 ini_set을 사용하면 해당 값 (스크립트에만 해당)이 변경되지만 실제로는 아무 것도 변경되지 않는다고 생각합니다.

ini_set("max_input_vars","3000"); 
phpinfo(); 

내가 max_input_vars 위해 점점 오전 값은 1000

값을 변경하는, 또는 왜 작동하지 않는 방법에 대한 생각 : 그래서, 내가 넣어?

답변

4

이 구성 설정은 런타임에 코드에서 설정할 수 없습니다. list of configuration settings을 보면 "변경 가능"값이 PHP_INI_PERDIR임을 알 수 있습니다. This page은 그 의미를 설명합니다.

ini_set은 변경 가능이라고 표시된 설정에만 적용 할 수 있습니다 (PHP_INI_USER).

이것에 대한 논리적 인 설명은 의 코드에 코드가 실행되기 전에 설정이 PHP의 동작에 영향을 미친다는 것입니다.

1

PHP가 스크립트로 전송 된 데이터를 구문 분석하는 동안 설정이 적용됩니다. 이것은 전에 스크립트가 실행되기도 전에 발생합니다. 따라서 런타임 사전 설정에 영향을주기 때문에 런타임에 설정할 수 없습니다.

+0

답변 해 주셔서 감사합니다. 모든 것이 이제 분명합니다. 그래서, 그것을 바꾸는 유일한 방법은 php.ini에서 지시어를 설정하는 것입니다. 그렇지 않습니까? – Pask

+0

예, 그렇습니다. – deceze

+0

글쎄, 나는 다른 오류가 있지만 prestashop과 관련이 있기 때문에 새 스레드를 열어 보았고 약간 이상했다. 여러분 모두에게 감사드립니다! – Pask

관련 문제