PHP에서 upload_max_filesize 변경


84

저는 PHP 5.3.0을 사용하고 있으며 버그 일 수도 있고 (이 경우보고 할 것입니다) 저일 수도 있습니다. 그래서 저는 확인을 요청하고 있습니다.

이 코드를 실행할 때 :

<?php
ini_set('upload_max_filesize', '10M');
echo ini_get('upload_max_filesize'), ", " , ini_get('post_max_size')

나는 다음으로 끝납니다.

2M, 8M

이것은 내 php.ini가 다음을 더 높게 설정 했음에도 불구하고 있습니다.

upload_max_filesize = 10M
post_max_size = 10M

(한 번만 발생)

값을 설정하고 php.ini에서 설정 한 후에 오류가 발생하기 때문에 버그라고 생각하는 경향이 있습니다. 누구든지 내가 어디로 잘못 가고 있는지 확인하거나 지적 할 수 있습니까?

업데이트 : Apache를 다시 시작하면이 문제가 해결 된 것 같습니다. 항상 php.ini를 변경하면 다시 시작할 필요가 없다고 생각했습니다.


9
"항상 php.ini를 변경하면 다시 시작할 필요가 없다고 생각했습니다." PHP CLI는 모든 호출에서 php.ini를 구문 분석하므로 변경 사항을 즉시 선택합니다. mod_php는 아파치가 시작될 때 php.ini를 한 번 구문 분석합니다.
Frank Farmer

최근에 같은 문제가 발생했습니다. upload_max_filesize는 Apache를 다시 시작하지 않으면 적용되지 않습니다. 저는 PHP 5.2.9를 사용하고 있습니다. 다시 시작하면 모든 것이 정상적으로 작동합니다.
Haluk

전체 아파치 재시작을 방지하려면 "sudo service apache2 reload"를 사용하십시오.
user1048839

답변:


68

단축 표기법 을 사용 하여 PHP.ini 외부에서 구성 값을 설정할 수 없습니다 . 나쁜 값에 직면했을 때 컴파일 된 기본값으로 2MB로 돌아가고 있다고 가정합니다.

반면 upload_max_filesize에을 사용하여 설정할 수 없다고 생각 ini_set()합니다. "공식적인"목록 이 있음을 주장한다 PHP_INI_PERDIR.


11
당신은 옳다고 생각합니다! upload_max_filesize는 php.ini, .htaccess 또는 httpd.conf를 통해서만 변경할 수 있음을 의미하는 PHP_INI_PERDIR 유형이므로 ini_set ()을 사용하여 upload_max_filesize를 설정할 수 없습니다 : php.net/manual/en/configuration.changes.modes. PHP
Marco Demaio 2010

2
실제로 PHP.ini 외부에서 축약 표기법을 사용할 수 있습니다. 에서 .htaccess및에서도 사용할 수 있습니다 ini_set. 하지만 모든 버전이 아닐 수도 있습니다.
프로텍터 원

70

공유 호스팅 공급자를 사용하고 있습니까? 변경하려는 모든 것을 무시하는 마스터 설정일 수 있습니다. .htaccess에 추가해 보셨습니까?

php_value upload_max_filesize 10M
php_value post_max_size 10M

1
아니요, 이것은 내 컴퓨터에있는 내 자체 Apache / PHP 인스턴스입니다 (관련된 경우 Windows). 아파치 설정에 추가해 보겠습니다.
Ross

5
업데이트 : 이것은 영향을 미치므로 (10으로 변경)이 방법이 작동합니다. php.ini에서 작동하지 않거나 ini_set을 사용하지 않는 이유에 대해 여전히 혼란 스럽습니다.
Ross

+1 이것은 php.ini에 접속할 수 없다면 확실히 갈 방법입니다. 감사합니다.
Alex Coplan 2011

3
이뿐만 아니라 CGI로, 아파치 모듈로 PHP를 실행하여 작동합니다
CHRISV

php.ini파일에 대한 액세스 권한이 있어도 이것이 선호되는 방법이라고 말하고 싶습니다 . 전역 설정이 아닌 필요에 따라 이러한 권한을 설정할 수 있습니다.
Bryant Jackson

42

공유 호스트에서이 문제가 발생하여 .htaccess 파일에 값을 추가 할 수 없었기 때문에 솔루션을 공유 할 것이라고 생각했습니다.

값이 들어있는 ini 파일을 만들었습니다. 다음과 같이 간단합니다.

".user.ini"라는 파일을 만들고 값을 추가하십시오.

upload_max_filesize = 150M
post_max_size = 150M

붐, 문제가 해결되었습니다.


나를 위해 일했습니다! 감사!
Justin Putney 2015 년

4
"주요 php.ini 파일 외에도, PHP는 요청 된 PHP 파일의 디렉토리에서 시작하여 현재 문서 루트까지 작업하면서 각 디렉토리에서 INI 파일을 검색합니다." php.net/manual/en/configuration.file.per-user.php
까지

1
워드 프레스 사이트에서 잘 작동합니다! 감사!
avenged_badger

.htaccess에서 할 수 없기 때문에 이것은 훌륭하게 작동했습니다. 감사합니다!
전략가

PHP는 기본적으로 5 분마다 user.ini 파일을 다시 읽습니다. 결과가 바로 표시되지 않는 경우에 따라서 환자 수
안드레이 Yaremenko

10

내 앱을로드하는 index.php 스크립트와 동일한 디렉토리에있는 .user.ini 파일을 사용하여이 작업을 수행했습니다. 내용은 다음과 같습니다.

upload_max_filesize = "20M"
post_max_size = "25M"

이것은 Heroku에 권장되는 솔루션입니다.


5

이것은 또한 아파치 구성으로 제어 할 수 있습니다. httpd.conf 및 / 또는 .htaccess에서 다음과 같은 내용을 확인하십시오.

php_value upload_max_filesize 10M

0

wamp 또는 xampp와 같은 로컬 서버에서 실행중인 경우 php.ini를 사용하고 있는지 확인하십시오. 이러한 서버는 일반적으로 html 문서 폴더에없는 php.ini로 기본 설정됩니다.


0

이 솔루션은 WordPress 설치에 문제가있는 경우에만 적용 할 수 있습니다!

FTP 액세스 권한이 없거나 파일을 편집하기에 너무 게으른 경우

최대 업로드 파일 크기 증가 플러그인 을 사용하여 최대 업로드 파일 크기를 늘릴 수 있습니다 .


0

기본적으로 PHP는 서버에 최대 2MB의 파일 업로드를 허용합니다. 그러나 조건에 따라 최대 파일 업로드 크기를 수정할 수 있습니다. PHP 구성 파일 php.ini를 사용하여 PHP에서 파일 업로드 크기를 늘리거나 줄일 수 있습니다.

먼저 텍스트 편집기에서 php.ini 파일을 엽니 다. upload_max_filesize 변수를 검색하고 늘리려는 크기를 지정합니다.

post_max_size 변수를 검색하고 늘리려는 크기를 지정합니다.

post_max_size = 128M

여기 에서 확인할 수 있습니다


-1

ini_set을 즉시 사용하면 http://php.net/manual/en/ini.core.php에서 찾을 수 있습니다 . 에서 upload_max_filesize 및 post_max_size를 즉석에서 변경할 수없는 정보 (PHP_INI_PERDIR)를 찾을 수 있습니다.

php.ini, .htaccess 또는 가상 호스트 구성 변경 만 이러한 변수를 변경하는 것 같습니다.


-1

동일한 문제에 직면했지만 ini_set () 함수를 사용하여 모든 구성 설정을 설정할 수있는 것은 아니라는 것을 알았습니다. 구성 설정이 설정 될 수있는 곳을 확인하십시오.


-11

다음과 같이 php 파일에서도 사용할 수 있습니다.

<?php ini_set('upload_max_filesize', '200M'); ?>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.