проблема записи php файла - PullRequest
1 голос
/ 08 июля 2011

У меня есть скрипт, который постоянно добавляет строки в файл.

Например (это тестовый скрипт):

$i = 1;
$file = 'wikipedia/test.txt';
$text = 'the quick brown fox jumps over the lazy dog';
while($i!=0)
{
  file_put_contents($file, $text, FILE_APPEND );
}

Но по неизвестной причине моя программа перестает добавлять строки, когда текстовый файл достигает размера файла 2097156 B. Это не было проблемой с дисковым пространством, поскольку я все еще мог создать другой текстовый файл, но ограниченный тем же самым точным значением размера файла.

Я пытался использовать другие функции php fwrite, fputs, но все равно не получилось.

Есть идеи, почему возникает эта проблема?

Ответы [ 3 ]

1 голос
/ 08 июля 2011

Кажется маловероятным, но вы могли столкнуться с PHP max_execution_time, если его текущая настройка очень низкая. Попробуйте увеличить его значение в php.ini

0 голосов
/ 08 июля 2011

Существует несколько проблем, которые могут вызвать эту проблему.

  1. Возможно, вы столкнулись с максимальным сроком выполнения (по умолчанию: 30 секунд).
  2. Возможно, вы исчерпали памятьпредел (по умолчанию: зависит от версии)
  3. Возможно, на диске что-то изменилось (возможно, изменились права доступа к файлу или превышена квота на диске).будет иметь неоценимое значение для определения того, какие из этих проблем могли способствовать возникновению проблемы.
0 голосов
/ 08 июля 2011

Ваш цикл не имеет смысла. Это никогда не меняет $ я. Попробуйте это без времени.

$file = 'wikipedia/test.txt';
$text = 'the quick brown fox jumps over the lazy dog';
file_put_contents($file, $text, FILE_APPEND );
...