Не создаются файлы

Тема в разделе "Администрирование серверов", создана пользователем Sunday, 3 окт 2017.

Модераторы: mefish
  1. Sunday

    Sunday

    Регистр.:
    13 дек 2009
    Сообщения:
    799
    Симпатии:
    330
    Запускаю скрипт, который должен создать файлы, но они не создаются.
    Код:
    Warning: fopen(/sitemap/sitemap.xml): failed to open stream: No such file or directory
    Понимаю, что не хватает прав каких-то.
    Устанавливал на папку, где должны создаваться файлы chmod 777 — это не помогло.
    Нагуглил, что нужно ещё что-то с владельцем делать командой chown. Тыкался, мыкался, но так нифига и не получилось у меня.
    Всё это добро стоит на VPS с Debian без панели.

    Помогите разобраться пожалста :)
     
  2. starwanderer

    starwanderer Нарушитель

    Регистр.:
    20 ноя 2016
    Сообщения:
    1.286
    Симпатии:
    2.851
    Насколько я понял, работает web-server. Если ставили LAMP (c Apache), по мануалам, коих много в сети, то он обычно работает от пользователя и группы www-data. Будем исходить из того, что у вас всё по-умолчанию и сайт в /var/www.
    Тогда в консоли из под root выполняете присвоение прав владения на каталог и рекурсивно на всё, что в нём содержится.
    chown -R www-data:www-data /var/www
    Если web-сервер другой или меняли prefork на mpm-itk, то тогда он может работать от пользователя. Тогда меняете владельца на пользователя.
     
    Последнее редактирование: 3 окт 2017
    Sunday нравится это.
  3. Drema

    Drema Постоялец

    Регистр.:
    31 июл 2007
    Сообщения:
    61
    Симпатии:
    11
    Посмотреть в конфиге ну или ps aux | grep httpd

    еще отключите для теста AppArmor, если он включен.

    зайдите в консоли от пользователя апача: su -m www-data и попробуйте сами создать файлик у нужной директории. Будет ошибка или нет?
     
    Sunday нравится это.
  4. metsys

    metsys

    Регистр.:
    27 апр 2014
    Сообщения:
    535
    Симпатии:
    543
    Значит предупреждение: нет такого файла или директории. Если бы проблема была с правами то увидели бы что то типа permission denied. Ищите проблему в коде. Установка прав рекурсивно 777 даёт возможность любому его выполнить.
     
    Sunday нравится это.
  5. Sunday

    Sunday

    Регистр.:
    13 дек 2009
    Сообщения:
    799
    Симпатии:
    330
    в том то и дело, что нечто такое уже делал и нифига не получается. Может там пользователь другой. Как узнать от какого пользователя работает сервер?
    У меня каждый хост на отдельном пользователе и группе. Пробовал прописывать и www-data и пользователя от которого работает сайт — ничего не меняется...
    <-------------- добавлено через 2072 сек. -------------->
    Нет ошибки.
    Возможно так и есть...
     
    Последнее редактирование: 29 окт 2017
  6. Drema

    Drema Постоялец

    Регистр.:
    31 июл 2007
    Сообщения:
    61
    Симпатии:
    11
    Проверьте в коде функцию fopen в конце должен стоять флаг x или x+
     
  7. 2olejka7

    2olejka7 Создатель

    Регистр.:
    17 дек 2012
    Сообщения:
    44
    Симпатии:
    20
    phpinfo на пример покажет
     
  8. onlinecontext

    onlinecontext Писатель

    Регистр.:
    20 дек 2017
    Сообщения:
    5
    Симпатии:
    4
    Да, Тоже так делал!
     
  9. Siager

    Siager Создатель

    Регистр.:
    22 дек 2017
    Сообщения:
    31
    Симпатии:
    13
    Установи лучше панельку. Я на своем ispmanager использую в 2 клика в нем все делается. А то через командную строку это кошмар какой то все делать Х_Х. Это все равно что в ms-dos использовать когда есть windows. Windows все таки удобней пользоваться :)