PHP 문자열 길이의 경계는 무엇입니까?
PHP에서 문자열 길이 제한은 PHP 버전에 따라 다양한 조건이 있습니다. 및 시스템 구성.
PHP 7.0.0 이상(64비트)
이러한 64비트 빌드에서는 문자열 길이에 특별한 제한이 없으므로 방대한 용량을 제공합니다. 많은 양의 텍스트를 저장하는 데 사용됩니다.
PHP 5.x 및 이전 버전
PHP 7.0.0 이전 및 32비트 빌드에서는 문자열이 최대 내부 코드는 길이를 32비트 정수로 표시하므로 2GB입니다.
메모리 할당 제약
문자열 길이 제한 외에도 PHP 스크립트는 메모리 제한에 직면합니다. 변수 할당. 이 제한은 php.ini의 memory_limit 지시어에 의해 제어됩니다. 기본적으로 PHP 5.2에서는 128MB이고 이전 버전에서는 8MB입니다.
이 제한을 초과하면 치명적인 오류가 발생할 수 있습니다. 그러나 -1로 설정하면 PHP는 하드웨어 제한이 적용되는 동안 운영 체제가 허용하는 만큼 메모리를 사용할 수 있습니다.
실용 예
메모리 제약이 있는 경우 메모리 제한이 1MB인 스크립트를 고려해보세요.
ini_set('memory_limit', 1024*1024);
// allocating 255KB string
$str = str_repeat('a', 255*1024);
print_r($str);
// exceeded memory limit, results in fatal error
$str = str_repeat('a', 256*1024);
print_r($str);
PHP는 처음에 기본 작업에 768KB를 할당하고 스크립트에는 232KB의 사용 가능한 공간을 남겨 둡니다. 255KB 문자열을 할당하면 사용 가능한 메모리가 채워집니다. 256KB 문자열을 할당하려고 하면 제한을 초과하고 치명적인 오류가 발생합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3