LINUX.ORG.RU

Загрузка файлов в Apache

 ,


0

1

Здравствуйте. Имею: 1. Ubuntu 18.04 2. LAMP (Apache2.4, php7.2, mysql) 3. Исходный код сайта, взятый с хостинга. На хостинге все работает нормально.

Есть форма загрузки фотографий. Выбираю две фотографии, нажимаю кнопку Submit. Попадаю в контроллер, обрабатывающий идущие с формы данные. Вывожу на экран массив $_FILES. Вижу следующее: Код (Text):

Array ( [photo_src] => Array ( [name] => Array ( [0] => DSC_6863.JPG [1] => DSC_6864.JPG ) [type] => Array ( [0] => [1] => ) [tmp_name] => Array ( [0] => [1] => ) [error] => Array ( [0] => 1 [1] => 1 ) [size] => Array ( [0] => 0 [1] => 0 ) ) )

На этом обработка завершается, т.к. не созданы временные файлы. Полагаю, это связано с тем, что у Apache нет прав на запись во временную директорию. Если это так, то подскажите, в какую директорию они должны записываться? Если же я не прав, то подскажите, какая может быть причина, и как ее побороть


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

Если на локальном компе Apache запущен с дефолтными настройками, то mod_php работает с правами пользователя www-data - соответственно, у него может не хватать прав для размещения файла в конечной директории. Это более вероятный вариант. Если это тот случай, то эту директорию нужно сделать доступной на запись для www-data - например, сменить группу на www-data и дать для группы права на запись.

Ну или можно настроить Apache так, чтобы php-код виртуального домена выполнялся с правами нужного пользователя, как это обычно делается на public-хостинге.

vinvlad ()