Я использую mkdir ($ folder_path, 0755 )
на локальном хосте (MAMP) он работает, но после перехода на VPS я использую LAMP, это не удалось.
Папка
путь направления: / var / www / html / assets / images /
информация о папке изображений:
Владелец: root
{{1 }} Группа: root
Восьмеричное число: 755
папка var
, www
, html
, assets
оба одинаковые
phpinfo
apache2handler
Apache Version Apache / 2.2.15 (CentOS)
Администратор сервера root @ localhost
Пользователь / группа apache (48) / 48
Ядро
safe_mode Локальное значение Выкл. Главное значение Выкл.
Я пытаюсь разрешить пользователю загрузить файл и создать папку с помощью функции ниже
$ folder_path = '/ var / www / html / backstage / assets / images / 0 ';
if (mkdir ($ folder_path, 0755)) {... move_uploaded_file ();}
Как решить эту проблему?
(Должен ли я изменить что-либо о разрешении в командной строке Linux?) { {1}} Мы будем благодарны за любые предложения, это мой первый сервер сборки ..
Ваш набор разрешений неверен. Если предположить, что все /var/www/html
используются apache и для него, вам нужно изменить его так, чтобы он принадлежал apache.
sudo chown apache:apache -R /var/www/html
Это сделает папку html и все, что под ней находится, принадлежащим apache, а группа - apache.
Также я бы порекомендовал потратить время на чтение того, что означают Владелец/Группа/Другие и их права. Как показывает использование root:root, в операционной системе Linux отсутствует механика ядра. Вот одна такая статья: http://linuxcommand.org/lts0070.php
вы должны проверить, какой пользователь запускает apache. Это должно быть никогда не должно быть root! Обычно это apache, никто или www-data. когда вы знаете, какой пользователь запускает apache, вы должны изменить разрешения, которые этот конкретный пользователь может прочитать (и выполнить и/или записать, если нужно) файлы.
Тогда, вероятно, он будет работать, как в вашем локальном окружении
.