Наиболее вероятная причина заключается в том, что /var/www
недоступен для записи процессу apache (или любому веб-серверу, который вы используете), поэтому, если вы запускаете его из командной строки - с разрешения вашего пользователя - это успешно, но при вызове из веб-браузера веб-сервер запускает его со своими собственными (очень ограниченными) разрешениями, а затем запись не выполняется.
Сначала необходимо - проверить код возврата метода to_file
, чтобы убедиться, что запись прошла успешно, а во-вторых - выполнить запись в каталог, в который разрешено писать веб-серверу, например /var/tmp
. * 1006. *