2011-11-14 2 views
0

내 서버에서 phpinfo를 실행할 때 제한이 1028M이고 스크립트 중 하나에 많은 메모리를 한 번만 사용해야합니다.PHP는 1028M 메모리 한도를 어디에서 받습니까?

이 제한을 제거 할 수있는 방법이 있습니까? 스왑이 메모리 사용을 처리하도록 할 수 있습니까?

문자열 "1028"은 내 서버의 PHP 파일에는 나타나지 않습니다. /etc/php.ini에서 제한은 -1로 설정됩니다.

find . -type f -name "*.php" -exec grep -il 1028 {} \; 
+0

호기심은 당신이이 -1로 설정되어 /etc/php.ini에서 – Teson

답변

0

은 메모리 한계는 당신의 php.inimemory_limit로 설정할 수 있습니다 - 당신이 그것을 찾을 수 없습니다 이유 먹으 렴, 당신은 단지 *.php 파일을 검색하지 *.ini 있습니다.

자세한 내용은 the documentation을 참조하십시오. 큰 스크립트를 사용하려면 max_execution_time을 늘려야 할 수도 있습니다.

+0

:-) 모든 RAM을 먹고해야합니까 무엇 고양이를 죽였다. – Rory

0

.ini 파일에 있거나 코드의 어딘가에 설정되어 있습니다. .php 파일을 검색해도 결과가 나오지 않으므로 ini 파일에있을 가능성이 큽니다.

2

32 비트 운영 체제에서 PHP는 최대 1.5Gb의 RAM 만 사용할 수 있습니다. (적어도 그것은 내가 실제로 발견 한 것입니다.) PHP에 더 많은 메모리를 허용하려면 64 비트 운영 체제로 전환해야합니다.

php.ini 파일의 메모리 제한은 -1로 설정하면 사용 가능한 모든 메모리를 사용함을 의미합니다. 하지만 오해의 소지가 있습니다.

내 추측

+0

어딘가 설정 파일에 문제가있었습니다. 내 VPS 공급자가 나를 위해 그것을 바꿨다 – Rory

0

왜 아무것도 제거 ... Windows 또는 Linux 32 비트에서 그것을 실행하는 것입니다? ini_set()을 사용하고 필요한 스크립트의 양을 설정하십시오.

BTW, 1028M은 많은 메모리입니다.

+0

나는 최대 메모리가 ini_set에 의해 설정 될 수 없다고 생각한다. – iWantSimpleLife

+0

정말요? 왜 그렇게 생각하니? –

+0

http://php.net/manual/en/function.ini-set.php? – iWantSimpleLife

관련 문제