• Как корректно вывести файлы из БД в файловую систему?

    sollerij
    @sollerij Автор вопроса
    И что Вы думаете? Где собака оказалась зарыт? В общем, разул глаза, пошарился в логах сервера и нашел ошибку, из-за которой происходят непонятные демонические штуки с отправкой файлов.
    Все дело в этой штуке:
    PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 127200320 bytes)

    То есть, файлы хранятся в БД. После обращения к БД, веб-серверу не хватает оперативной памяти для обработки запроса.
    Сейчас вручную увеличил количество оперативной памяти до 512МБ, которую может использовать веб-сервер, после чего у веб-сервера появилась возможность обработать часть данных.
    Посмотрим, сколько файлов возможно обработать.
    Не могли бы Вы все-таки уточнить, что означает Ваше предложение:
    Затем убедиться, что PHP программа использует переменную, соответствующую по размеру для хранения имени файла.

    ?
  • Как корректно вывести файлы из БД в файловую систему?

    sollerij
    @sollerij Автор вопроса
    Файлы корректно загружаются из БД в файловую систему на моей машине, но на другом серваке мой код выполняется с имеющимися ошибками.

    Уточните, пожалуйста, что обозначает, что переменная должна быть по размеру файла? Жестко размеры php-переменной я нигде не ограничиваю.
    Затем убедиться, что PHP программа использует переменную, соответствующую по размеру для хранения имени файла.
  • Как корректно вывести файлы из БД в файловую систему?

    sollerij
    @sollerij Автор вопроса
    Роман Мирр, вот такие поля:

    Структура таблицы следующая:

    CREATE TABLE fregat.t_claim_file
    (
        id_claim_file integer NOT NULL DEFAULT nextval('fregat.t_claim_file_id_claim_file_seq'::regclass),
        dttmcr timestamp with time zone NOT NULL DEFAULT now(),
        dttmup timestamp with time zone,
        dttmcl timestamp with time zone,
        id_user integer NOT NULL,
        id_claim_case_comment integer,
        comment_file bytea,
        name_file text COLLATE pg_catalog."default",
        CONSTRAINT id_claim_file_pk PRIMARY KEY (id_claim_file)
    )
  • Как корректно вывести файлы из БД в файловую систему?

    sollerij
    @sollerij Автор вопроса
    А что Вы подразумеваете под схемой? Структуру самой таблицы, то есть, какие поля в ней есть и каков тип поля, в котором хранятся данные файлов?
  • Как корректно вывести файлы из БД в файловую систему?

    sollerij
    @sollerij Автор вопроса
    Смотрите, есть только одна БД, из которой я беру данные и затем помещаю их в файловую систему другого сервера. Кодировка:
    LC_COLLATE = 'ru_RU.UTF-8'
    LC_CTYPE = 'ru_RU.UTF-8'

    Запросы к БД выполняются, я проверял.
    Пробелы есть в некоторых названиях файлов, но написали функцию транслитерации, которая замещает русские символы на латиницу и вместо пробела ставит символ нижнего подчеркивания.
    Таки дела. Я пока что грешу только на локализацию на серваке, куда выгружаю файлы.