Предел размера json_encode PHP?

Я использую прокси-сервер PHP для получения содержимого файла. Я хочу выполнить поиск через этот файл с помощью мощных параметров jQuery без необходимости писать всевозможные запросы в PHP. Вот мой PHP-код:

$page = file_get_contents( filter_var( $_POST[url], FILTER_SANITIZE_URL ) ); die( json_encode( $page ) ); 

Если загруженная страница становится слишком большой, PHP будет читать весь документ, но json_encoding будет давать только первую часть файла, а не весь файл. Я не могу найти ничего о пределе размера для переданных json данных, но, по-видимому, есть один.

вопрос: есть ли временное решение, чтобы предотвратить передачу только части файла?

Мне нужно захватить файлы из других доменов, поэтому чтение содержимого файла в jQuery на самом деле не является вариантом.

Чтобы помочь другим, кто может столкнуться с проблемами, которые они не могут объяснить с помощью json_encode. Я нашел, что это помогает узнать о функции json error msg.

 json_last_error_msg(); 

У меня была аналогичная проблема, но она не была связана с размером файла. У меня был неправильный utf-8 в базе данных. Вы можете проверить свой json как это

 $json = json_encode($data); if ($json) echo $json; else echo json_last_error_msg(); 

PHP docs здесь json_last_error_msg

PHP 5.3: ext / json / json.c
PHP 7 (текущий): ext / json / json.c

Не существует встроенного ограничения размера сериализованных данных JSON. В любом случае, не для строк. Поэтому я предполагаю, что вы столкнулись с ограничением памяти PHP или чем-то еще.

json_encode Строка последовательно добавляет несколько экранов и внешние двойные кавычки. Внутри это означает удвоение бит-памяти (временная конкатенация строк и преобразование / проверка utf8_to_utf16), так что я столкнулся с моим 32-мегабайтным флэш-памятью с длиной строки 8 МБ. Но кроме этого, в json.c , похоже, нет никаких ограничений.