답변:
귀하의 질문 에서이 파일 각각에서 무엇을 변경하고 있는지 분명하지 않지만 각 경우 에 upload_max_filesize
PHP 설정 이라고 가정 합니다 .
일반적으로 설정은이 순서대로 적용되며 각각은 이전 값보다 우선합니다.
ini_set()
그러나,이 설정이 정의 PHP_INI_PERDIR
된, 이 페이지의 설명에 그것을 사용하여 설정 될 수없는 수단 ini_set
(가)하므로 wp-config.php
이를 변경할 수 없다. 따라서 질문에서 제시 한 예에서는 64MB의 .htaccess에서 값을 가져옵니다.
echo ini_get('upload_max_filesize');
코드 어딘가에서 실행 하여 이를 확인할 수 있습니다 .
사용자별로 php.ini 파일 및 기타 Apache 구성 컨텍스트 와 같이 위에 나열되지 않은 다른 위치 값을 설정할 수 있습니다 . 또한 이들 중 일부는 사용 하지 않도록 설정할 수 있으므로 서버가 .htaccess에서 재정의를 허용하도록 설정되어 있지 않으면 값을 설정할 수 없습니다.
또한 Wordpress에는 PHP 구성과 다른 방식으로 상호 작용하는 자체 구성 변수가 포함되어 있습니다. 예를 들어, 시작할 때 PHP 설정 WP_MEMORY_LIMIT
을 높이 려고 시도 memory_limit
하지만 확인하고 절대 낮추지 않는 코드가 있습니다 . 이에 대한 일반적인 규칙은 없으며 설정에 따라 다릅니다.
기본적으로 세 파일 모두가 고려됩니다.
워드 프레스 / 서버는 다음 순서로 확인합니다 :
wp-config.php > .htaccess > php.ini
"높은 수준"(나중에 체인)에있는 값이 값을 제한하는 경우 이전 값은 무시되거나 덮어 씁니다. 체인 조각이 누락 된 경우, .htaccess
예를 들어 다음으로 높은 값이 대신 사용됩니다.
귀하의 예에서는 .htaccess
최대 max_upload_size
64MB로 서버가 양호하고 WordPress에서도 파일 크기가 최대 128MB까지 허용되지만 64MB로 제한됩니다.
파일을 통해 다른 제한을 설정할.htaccess
수도 있으며이 작업을 수행하여 php.ini
더 이상 지배적 인 값이되지 않도록 from의 값을 덮어 씁니다 . 이것은 많은 호스팅 환경에서 작동 하므로이 방법으로 높이 거나 낮출 수있는 가능성이 높습니다 max_upload_size
.
보다 엄격하게 구성된 호스팅 / 서버가있는 경우 설정을 재정의하는 옵션 php.ini
이 비활성화 될 수 있습니다. 이 경우 재정의 max_upload_size
가 .htaccess
작동하지 않으므로 제한 요소가 될 수 있습니다.
.htaccess
목록의 중간에 있다면 왜 이것이 제한 요소가 될까요?
flomei가 답을 편집해야한다고 생각합니다. 정답이지만 잘못된 설명이기 때문입니다.
Php.ini -> .htaccess -> wp-config.php
실제로 각 파일을 읽는 순서이며 이전에 정의 된 설정이없는 것을 고려하여 값을 설정합니다. 그러나 이전에 정의 된 설정이있는 경우 새 설정이 낮은 경우에만 "오버라이드"됩니다.
즉, 64Mb의 wp-config.php와 32MB의 .htaccess가있는 경우 wp-config.php는 이미 하한이 있으므로 32Mb로 끝나기 때문에 해당 설정을 무시하지 않습니다.
그러나 wp-config.php가 32Mb이고 .htaccess가 64MB이면 wp-config.php는 이전 설정을 32Mb로 낮 춥니 다.
편집 : IMSoP가 지적했듯이 wp-config.php를 사용하면 'WP_MEMORY_LIMIT'를 변경하는 경우 PHP 설정이 허용하는 것보다 더 제한적인 크기를 설정할 수 있습니다. 따라서 실제로 설정 재정의가 아닙니다. 실제로 런타임에 다른 지점에서 수행되는 별도의 검사가 있습니다. upload_max_filesize
그가 가정 한대로 PHP 설정 을 변경하는 경우 (질문에 어떤 설정을 변경하고 있는지 표시하지 않음), 효과가 없습니다.
또한 PHP 설정 post_max_size
보다 더 커야 한다는 것을 고려해야합니다.upload_max_filesize
wp-config.php
이다 ini_set('upload_max_filesize', '32M');
는 없을 것이다 이제까지 아무런 영향을 그 설정이 있기 때문에, 실행시에 설정할 수 없습니다 로 가로 정의됩니다PHP_INI_PERDIR
. (해당 문서 페이지가 잘못된 것이 아니라면 그럴 것 같지 않습니다.)
wp-config.php
값과 임의의 PHP 값 설정 사이에 약간의 혼동이 있었을 것 같습니다 ini_set()
. 내가 이해하는 것처럼, wp-config.php
주로 WordPress 특정 구성 값을 설정하는 것과 관련이 있으며 대부분은 기본 PHP 구성 설정에 의해 실제로 제한됩니다 (예 : 상한 WP_MEMORY_LIMIT
). 이것은 워드 프레스입니다. 그러나 PHP ini_set()
에서를 사용하여 임의의 PHP 구성 값을 설정할 때 그러한 제한은 없습니다.