Я задаюсь вопросом, существует ли ограничение размера для массива в php 5? Я написал сценарий php, чтобы изменить последний элемент каждой строки в файле. распечатайте содержимое измененного файла , когда я запускаю скрипт в файле небольшого размера (т.е. каждая строка содержит 4 значения), он будет работать. Когда я запускаю его в более крупном файле (например, 60000 строк, каждый из которых содержит 90 значений), он не изменяет бит исходного файла, но сценарий не выдавал никакого сообщения об исключении во время выполнения. Что это за проблема?
У вас может быть нехватка памяти, так как размер вашего массива (теоретически) ограничен только объемом памяти, выделенной для скрипта. Поместите ini_set('memory_limit', '1024M');
в начале вашего скрипта установить ограничение на 1 ГБ. Возможно, вам понадобится увеличить это еще выше для достижения наилучших результатов.
Поскольку manyxcxi говорит, что вам, вероятно, придется увеличить memory_limit. Иногда вы также можете уменьшить использование памяти, отключив большие переменные с unset ($ var). Это необходимо только тогда, когда переменная остается в области далеко за ее последней точкой использования.
Вы случайно читаете весь файл, транслируете его, а затем записываете новый файл? Если это так, вы можете уменьшить использование памяти, работая в цикле, где вы читаете небольшую часть, обрабатываете ее и записываете и повторяете, пока не дойдете до конца файла. Но только если алгоритму преобразования не нужен весь файл, чтобы преобразовать небольшую часть.