Jump to content
  • 0

Access denied for user 'apache'@'localhost'


alex_anderr
 Share

Question

Access denied for user 'apache'@'localhost' (using password: NO)

Ошибка на странице после выкладывания на сервер. Сервер VPS на линуксе.

Я понимаю, что это означает, что пароль пользователя apache введен не верно.

Но я не указывал при соединении с базой никакого пользователя apache.

Раз уж ошибка возникла, решил создать в mysql такого пользователя с паролем. Ввел при соединении пароль - все ок, только "no database selected".

Мне нужно попасть в мою бд с моим юзером и пользователем.

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

Как всегда спасибо )

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Да, это я понял.

Но, в mysql_connect() такого пользователя не указано.

--

Но уже не в этом дело. Опытным путем выяснилось, что не работает include(). И из-за этого выходит эта ошибка.

На локальном сервере функция include() работала.

include('../template/index.php'); - не работает

include('/template/index.php'); - не работает

include('template/index.php'); - работает

- Все эти пути существуют

Получается, что не верно указан путь. На линуксе может пути как-то по-другому нужно писать?

Edited by alex_anderr
Link to comment
Share on other sites

  • 0

include('../template/index.php'); - не работает

include('/template/index.php'); - не работает

include('template/index.php'); - работает

1) - если файл находится в другой папке относительно корня, например /bla/test/index.php и из него вы пытаетесь подключить файл: ../template/index.php

.. - (две точки) - на выход на два уровня вверх если не ошибаюсь.

2) и 3) - в принципе правильно, но в большинстве своем зависит от настроек сервера.

Link to comment
Share on other sites

  • 0

Нет, все верно, точек должно быть две, без вариантов. Одна точка - это тот же каталог.

У меня есть сомнения, что не верно разданы права для файлов. 644 и для включенного и для включающего в себя файла достаточно?

--

UPD

Выяснил, что прав достаточно.

Опыт показывает, что include работает только с тем файлом, который находится в той же директории (т.е. include('file.php')). А по папкам никак :)

UPD2

С вложенными в эту папку папками тоже работает. Дело в двух точках, которые не умеют переходить на папку вверх :(


<?php
include('../template/111.php');
//include($_SERVER['DOCUMENT_ROOT'].'/template/111.php');
?>

UPD3

Warning: include() [function.include]: open_basedir restriction in effect. File(../template/111.php) is not within the allowed path(s): (.) in /var/www/***/data/www/***.ru/rub/index.php on line 25

open_base_dir = none не помог.

Edited by alex_anderr
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy