Я работаю над примерами из книги по разработке php / mysql. Я работаю над средой linux / apache.
Я создал базу данных и пользователя. Я пытаюсь подключиться к этой строке кода:
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
Я получаю эту ошибку:
Предупреждение: mysql_connect () [function.mysql-connect]: доступ запрещен для пользователя 'www-data' @ 'localhost' (с использованием пароля: YES) в /var/www/hosts/dj/connect.php в строке 3, неспособный подключение к базе данных: доступ запрещен для пользователя «www-data» @ «localhost» (с использованием пароля: ДА)
Я могу только догадываться, что здесь происходит: я думаю, что www-data – это имя пользователя для apache. При подключении к базе данных учетные данные, передаваемые в mysql, не являются данными моего пользователя базы данных, а являются собственными учетными данными Apache. Это то, что здесь происходит?
Как передать учетные данные, которые я определил для своего пользователя?
edit: Кстати, у меня есть учетные данные в переменных $ db_hostname, $ db_username, $ db_password.
они передаются другим файлом с использованием require_once. Если этот файл не найден, я получаю сообщение об ошибке. Итак, я знаю, что мое имя пользователя и пароль используются моим скриптом.
Оба моих сценария можно увидеть здесь: http://pastebin.com/MUneLEib
#
Решено:
Спасибо, парни.
Несколько из вас указали, что я закодирован беззаботно.
Кроме того, я был особенно доволен ответом Нео: он сказал мне, почему используется имя пользователя владельца процесса apache.
🙂