Тестирование php-файла для школы с функцией fopen (), которая не работает из-за & hellip; вопросы разрешения?

Я использую Ubuntu в своем ноутбуке. Каждый раз, когда я включаю его и после инициализации Ubuntu, он запрашивает мой пароль администратора, который я предоставляю, чтобы иметь возможность использовать его. Я установил Sublime2, и я изучаю свои первые шаги в PHP / MySQL, я использую этот ноутбук с Ubuntu в моем классе программирования. Сегодня нам нужно было сделать несколько тестов fopen () в первый раз.

Я создал файл и добавил к нему этот код:

error_reporting(E_ALL ^ E_NOTICE);
$fp=fopen("prueba.txt",'w');
fwrite($fp, 'Curso de PHP');
fclose($fp);
echo 'Horray';

Теперь, когда я пытаюсь запустить файл (я использую Xampp в качестве локального apache, и я использую Chrome как мой браузер), я получаю эту ошибку (и файл вообще не создается):

Предупреждение: fopen (prueba.txt): не удалось открыть поток: в / opt / lampp / htdocs отказано в разрешении /curso_php1/inicial/ejemplo-archivos.php в строке 25

Предупреждение: fwrite () ожидает, что параметр 1 будет ресурсным, логическое значение указано в /opt/lampp/htdocs/curso_php1/inicial/ejemplo-archivos.php в строке 26

Предупреждение: fclose () ожидает, что параметр 1 будет ресурсным, логическое значение указано в /opt/lampp/htdocs/curso_php1/inicial/ejemplo-archivos.php в строке 27

Когда я дома, я попробовал код снова, в моем Windows Macine, и все работало как положено, без каких-либо ошибок.

Кажется, у меня недостаточно разрешений ( не удалось открыть поток: отказано в разрешении ), почему это так?

Почему это происходит? Что я должен делать? Спасибо! "

1
задан 16 November 2013 в 06:22

2 ответа

Пользователь, работающий с XAMPP, по-видимому, не имеет прав на запись в /opt/lampp/htdocs/curso_php1/inicial/. Я бы попробовал записать в другой файл в месте с более разрешающими правами, например /tmp/.

Кроме того, если вам не требуется использовать XAMPP, а просто нужен работающий Apache, попробуйте использовать пакет, предоставляемый Ubuntu. По моему опыту, небольшой выигрыш в комфорте из-за того, что вам не нужно настраивать Apache и PHP самостоятельно, не стоит проблем с разрешениями и обновлениями в долгосрочной перспективе.

0
ответ дан 16 November 2013 в 06:22
  • 1
    I' m собирающийся делать это прямо сейчас!;-) – Fabby 16 July 2015 в 21:59

Я обнаружил, что когда это происходит, это команды (я выкладываю их здесь только на тот случай, если кто-то еще столкнется с той же проблемой):

sudo chown -R myUserName /opt/lampp
sudo chmod -R 777 /opt/lampp 

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

Надеюсь, это когда-нибудь кому-нибудь поможет.

0
ответ дан 16 November 2013 в 06:22
  • 1
    Это одно didn' t работают на меня, я думаю, потому что Oracle недавно обновила VirtualBox и заменила часть этого. Эта статья была очень очень полезна, просто выполните эти две команды CLI (один из которых является Вашей командой), и сетевой адаптер набора к Сети NAT jekewa.com/blogs/index.php/weBlog/2014/01/09/… также примечание, что существует ошибка в Вашем ответе, lowerip, не должно совпадать с IP шлюза, использовать 10.10.10.2 вместо этого – r3flss ExlUtr 12 May 2017 в 18:04

Другие вопросы по тегам:

Похожие вопросы: