[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: На linux не работает функция fopen
Happy!
Здравствуйте, у меня небольшая проблема возникла, я себе поставил linux, поставил apache, для папки www сделал нормальный доступ без root, все работает отлично кроме функции fopen, она не хочет записывать нечего в файл (открывает без проблем), что делать?



Спустя 5 минут, 5 секунд (29.04.2011 - 11:54) Dezigo написал(а):
Установи права доступа chmod()

Спустя 3 минуты, 16 секунд (29.04.2011 - 11:57) Arni написал(а):
Уже давно не использую fopen.

file_put_contents
file_get_contents

Хватает.

Про права на чтение и запись уже сказали выше.

Спустя 4 минуты, 26 секунд (29.04.2011 - 12:02) Happy! написал(а):
Что то не получается, вот мой код:

if(chmod("$filename", 0755))
{
if (is_writable($filename)) {
if (!$handle = fopen($filename, 'a')) {
echo "Файл не открывается ($filename)";
exit;
}
if (fwrite($handle, $somecontent) === FALSE) {
echo "Не записывается в файл ($filename)";
exit;
}
echo " Зпись прошла успешно";
fclose($handle);
} else {
echo "Файл $filename недоступен для записи";
}
}
else{
echo "Error";
}

Спустя 40 минут, 10 секунд (29.04.2011 - 12:42) Arni написал(а):
Та не .... Через фтп например попробуйте глянуть права на чтение запись. Ну или через консоль. Права именно для пользователя из группы www или как у вас там обозвано А вообще что пхп говорит по этому поводу? Что за код ошибки вообще? Может вы расширения пхп забыли установить ? smile.gif

Спустя 6 минут, 36 секунд (29.04.2011 - 12:48) Happy! написал(а):
Нету ошибки, он просто выдает false в fpen и все... на windows все работало...

Спустя 3 минуты, 16 секунд (29.04.2011 - 12:52) Happy! написал(а):
А на папку www и на все файлы внути я только что поставил полный доступ, вот команда sudo chmod -R 755 /var/www/

Спустя 2 минуты, 5 секунд (29.04.2011 - 12:54) Arni написал(а):
дайте свой phpinfo();

Спустя 4 минуты, 59 секунд (29.04.2011 - 12:59) Happy! написал(а):

Спустя 40 минут, 43 секунды (29.04.2011 - 13:40) Arni написал(а):
С пхп все нормально, осталось два варианта.

1. Путь к файлу.
2. Права на запись 777 именно на вайш файл не установлены.

И по скольку вы вызываете fopen с параметром а, а значит для записи, то у вас должны быть права на запись иначе да, все верно вернет false.


0755 это не даст прав на запись. Чтоб быть 100% уверенным сделайте 777 менно на этот ваш горе файл.

И еще раз, удобнее гораздо использовать

file_put_contents
file_get_contents

Спустя 14 минут, 41 секунда (29.04.2011 - 13:54) Renden написал(а):
Happy!
Посмотри от какого пользователя запущен апатч, и дай этому пользователю права на запись в директорию, или смени владельца директории chown.

Arni
777 - крайний вариант, зачем разрешать доступ всем ветрам)

Спустя 51 минута, 34 секунды (29.04.2011 - 14:46) Happy! написал(а):
Apache у меня от root запущен, а с 777 сейчас попробую

Спустя 3 минуты, 57 секунд (29.04.2011 - 14:50) Happy! написал(а):
Фигня какаета произошла, сделал для www доступ 777, ошибка осталась, а папка с phpmyadmin закрылась для меня..

Спустя 1 час, 24 минуты, 12 секунд (29.04.2011 - 16:14) Invis1ble написал(а):
на phpMyAdmin нельзя 777 ставить, потому что там конфиг нельзя разрешать на запись.
По поводу прав - поставь по фтп (через ту же Filezilla) 766 на файл, в который пишешь

Спустя 44 минуты, 35 секунд (29.04.2011 - 16:59) Happy! написал(а):
Всеравно неработает

Спустя 19 минут, 52 секунды (29.04.2011 - 17:18) Happy! написал(а):
Все, поставил на мой файл 777 и норм, спасибо всем

Спустя 49 минут, 40 секунд (29.04.2011 - 18:08) Гость_liw написал(а):
Ненужно никогда ни для чего ставить 777. (может я параноик? Да и не аккуратно это.)

Вот ты сейчас поставил 777 - оно работает.
А теперь попробуй разобраться почему не работает если права другие.

По поводу того что апач запущен от рута - в конфиге написан пользователь до которого апач будет понижать права скриптам. - нужно там посмотреть имя пользователя (как уже сказали - скорее всего www)

А потом уже сменить владельца файла. chown www filename
и дать права на запись владельцу chmod 600 filename.
Ну или права на запись для группы chmod 660 filename или chmod g+w filename
по смыслу.

Почитать можно тут: http://www.linuxcenter.ru/lib/books/kostromin/gl_04_05.phtml

Спустя 21 минута, 39 секунд (29.04.2011 - 18:30) Arni написал(а):
Народ, да хватит вам. У человека походу локалка, и он занимается разработкой. 777, так 777. Работает ну и отлично. На боевом сервере да, надо разрулить как положено. В этом случае выяснили ,помогли, и будет уже smile.gif.

Спустя 30 минут, 10 секунд (29.04.2011 - 19:00) liw написал(а):
Да ладно, никто тут на него бочку не катит, - так на всякий)
(хуже не будет)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.