fopen (dbinfo.php): не удалось открыть поток: в доступе отказано Ubuntu 12.04 LTS

Я пытаюсь запустить php-проект на UBuntu. У него есть установочный скрипт, который создает базу данных mysql. Когда я пытаюсь запустить скрипт, я получаю следующие ошибки:

Warning: fopen(dbinfo.php): failed to open stream: Permission denied in /opt/lampp/htdocs/project/install.php on line 12

Warning: fwrite() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/project/install.php on line 19

Warning: fclose() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/project/install.php on line 20

Warning: include(dbinfo.php): failed to open stream: No such file or directory in /opt/lampp/htdocs/project/install.php on line 21

Warning: include(): Failed opening 'dbinfo.php' for inclusion (include_path='.:/opt/lampp/lib/php') in /opt/lampp/htdocs/project/install.php on line 21

Notice: Undefined variable: host in /opt/lampp/htdocs/project/install.php on line 23

Notice: Undefined variable: user in /opt/lampp/htdocs/project/install.php on line 23

Notice: Undefined variable: password in /opt/lampp/htdocs/project/install.php on line 23

Notice: Undefined variable: database in /opt/lampp/htdocs/project/install.php on line 25

Notice: Undefined variable: database in /opt/lampp/htdocs/project/install.php on line 26
Error connecting to database.

Я знаю, что эти ошибки происходят из-за отказа в разрешении, но я не знаю, как это исправить. Кажется, у сценария нет разрешения на редактирование или создание базы данных. Я новичок в Ubuntu и не могу понять проблему. Извините за плохой английский.


person shiven    schedule 30.03.2013    source источник


Ответы (1)


Я предполагаю, что, возможно, ваш пользователь имеет права на /opt/lampp, и поэтому вы можете редактировать файлы. Однако, если это не так, вы можете предоставить доступ как вашему пользователю, так и группе apache. Следующее показывает сначала пользователя, затем группу:

sudo chown -R youruser:www-data /opt/lampp

Таким образом, вы устанавливаете право собственности на пользователя, а затем на группу. После этого вы должны предоставить доступ трем группам: Пользователь, группа и другие:

sudo chmod -R xxx /opt/lampp

Примечание. Крайний правый угол относится к разрешениям для владельца файла, затем группы и других пользователей.

Итак, что означает xxx?

Нет - разрешение - rwx

7 - полный - 111

6 - чтение и запись - 110

5 - прочитать и выполнить - 101

4 - только чтение - 100

3 - написать и выполнить - 011

2 - только запись - 010

1 - только исполнение - 001

0 - нет - 000

Или вы можете использовать:

chmod [reference][operator][mode] fileOrFolder

Где ссылка: u (ser), g (roup), o (thers) и a (ll).

Оператор: + (добавляет указанные режимы к указанным ссылкам), - (удаляет) и = (указанные режимы должны быть сделаны точными режимами для указанных ссылок)

Наконец, режимы: r (ead), w (обряд), x (выполнение), [X (специальное выполнение), s и t (которые встречаются не так часто)].

Надеюсь, это то, что вы ищете.

person Mesi Rendón    schedule 05.04.2013
comment
Большое вам спасибо, я пытался исправить это с тех пор, как вчера вечером наконец-то сработало! - person kapil; 10.01.2017