2010-01-04 5 views
0

치명적인 오류 : 배기 33,554,432 바이트 허용 메모리 크기에/장착 스토리지/home20a/sub001/sc20063-GJYD은/[...] 라인 (62)할당 된 메모리 허용량을 변경하는 방법은 무엇입니까?

그것은 PHP 같다 (40000 바이트를 할당하려) -script는 메모리에 32MB 만 할당 할 수 있습니까? 사용자가 큰 그림을 업로드하려고 할 때 어떤 일이 발생하는지 테스트하기 위해 example image을 사용했습니다.

내 질문은 : 어떻게 이런 일이 일어날 것이라고 예측하고 사용자에게이 오류를 반환하는 대신 이미지가 너무 큼을 경고 할 수 있습니까? 그 이후로 나는 테스트했지만, 나는 try-catch와 @를 모두 시도했다고 생각하지만, 이것은 치명적인 오류이기 때문에 둘 다 실패했다. 예제 이미지의 크기는 단지 1kB이므로, 그 값을 검사하는 것은 효과가 없습니다.


가 나는, 나는 $ 폭과 이미지의 $ 높이를 확인하고, 이미지가 너무 큰 경우 다음 사용자에게 알릴 수 있습니다 내 자신의 문제를 해결 생각하지만, 나는 또 다른 질문이 : 어떻게 변화 할을 할당 된 메모리의 허용량은 얼마입니까? 내 사용자가 고해상도 이미지를 많이 게시하려고한다고 가정합니다. 나는 ini_set("memory_limit", $bignumber)을 시도했지만 작동하지 않습니다.

+0

C를 PHP로 도착 전에 40000 바이트를 할당하려고 말한대로 GD, 그러나 당신은 아마 인, 업로드 크기와 최대 게시물의 크기를 제한에 대해 생각해야 허용 된 메모리 크기보다 작은 33554432 바이트 메모리 제한을 높이면 어떻게 해결할 수 있습니까? 나는 여기에 착륙했다. 나는 비슷한 문제가 있었고,이 문제에 대한 해결책이 아니라고 생각한다. 누군가 내가 멍청이처럼 말하는지 가르쳐주세요. –

답변

1

memory_limit을 변경하려면 php.ini 파일에서 memory_limit 지시어를 편집해야합니다. 전체 서버에 수정 사항을 적용하지 않으려면 Apache의 VirtualHost에서도 수행 할 수 있습니다 한 웹 사이트에만 해당됩니다.

그러나 당신은 항상 그렇게하지 않을 수 있습니다 - 당신은 서버의 관리자 권한이 있어야합니다 ...

을 BTW, 당신은 How to change configuration settings 좀 걸릴 수 있습니다.


중 하나를 사용하여 imagemagick 및 해당 convert 실행 파일을 사용할 수도 있습니다. 이렇게하면 PHP로 이미지의 크기를 조정할 수 없습니다.

그러나, 여기, 당신이 외부 프로그램에 의존하는 의미 ...

+0

* memory_limit *는 * PHP_INI_ALL * 변경 가능합니다. – Gumbo

+0

php.ini 파일에 액세스 할 수 없습니다. – Phoexo

0

당신은 php.ini 구성 파일에서 해당 작업을 수행해야합니다 memory_limit.

1

허용 된 메모리 크기는 ini_set을 통해 편집 할 수 있지만 안전 모드 또는 수호신 패치는 block it 일 수 있습니다. memory_limit 지시문에서 필요한 메모리 크기를 php.ini에 설정하십시오.

0

편집 거기에 다음 줄을 사용하여 php.ini 파일의 설정 또는 (하지 않을 경우 윈도우 호스팅에) 당신은 또한 htaccess로 사용할 수 있습니다 : htaccess로 솔루션은 당신 여부를 HEP 수

php_value memory_limit 32M 

php.ini에 액세스 할 수 없거나 사이트의 특정 영역에서이 설정을 변경하려는 경우. 필자의 예에서는 제한이 32MB로 증가했습니다. 일부 호스트는이 기능을 지원하지 않거나 특별히 큰 공유 값을 지원하지 않습니다 (특히 공유 호스팅 환경에서). 어쩌면 당신이 $bignumber이 메가 바이트 단위로 지정되지 않은

ini_set("memory_limit","50M"); 

(따라서 M)와

1

메모리 제한을 늘리려면 인터프리터를 시작하기 전에이 작업을 수행해야합니다 (예 :ini_set을 사용하지 않고 php.ini 파일에서이를 변경해야합니다.

GD합니다 getimagesize 비트 맵의 ​​메모리 사용에지도를 줄 것이다 값을 반환합니다 "난, 난,은 $ 폭과 이미지의 $ 높이를 확인할 수 있습니다 내 자신의 문제를 해결했다 생각" 파일이 나는 오류 메시지와 함께 궁금

+0

php.ini.file에 액세스 할 수 없을 때 메모리 제한을 어떻게 변경합니까? – Phoexo

+0

다른 게시물에 따르면 .htaccess usnig php_value의 일부 설정을 변경할 수 있습니다. 일반적으로 PHP를 시작한 후에 수정할 수있는 값만 변경할 수 있습니다. – symcbean