ID: 43812
Comment by: jarrod dot makin at heartinternet dot co dot uk
Reported By: graced at wingsnw dot com
Status: No Feedback
Bug Type: MySQLi related
Operating System: Debian lenny/sid
PHP Version: 5.2.5
Assigned To: andrey
New Comment:
I can replicate the problem above with identical errors with following
versions
OS: Centos 5.2
php: 5.2.8
msqli api: 5.1.30
mysql Ver 14.14 Distrib 5.1.30, for pc-linux-gnu (i686) using readline
5.1
What may be more interesting is what happens to the same script on
another setup
OS: RHEL 4u4
php: 5.2.8
mysqli api: 5.0.51a
mysql Ver 14.12 Distrib 5.0.67, for redhat-linux-gnu (i686) using
readline 5.1
The script works fine when called via php5-cgi, but the reported error
occurs when called by php5-cli
Previous Comments:
------------------------------------------------------------------------
[2008-07-22 01:00:01] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2008-07-14 20:28:38] uw@php.net
I can't reproduce this with PHP 5.3 CVS nor with PHP 5.2.6, please
check the notes on
http://dev.mysql.com/doc/refman/5.1/en/option-files.html,
e.g. "On Unix
platforms, MySQL ignores configuration files that are world-writable.
This is intentional as a security measure."
------------------------------------------------------------------------
[2008-01-15 05:03:13] graced at wingsnw dot com
Clarification:
Warning: mysqli::real_connect(): (28000/1045): Access denied for user
'wadmin'@'localhost' (using password: NO) in /home/.../- on line 6
'wadmin' was the username I was connecting with (I missed it when
sanitizing my.cnf values), NOT my current login name (which is what PHP
and mysql both default to otherwise).
Just in case it matters.
------------------------------------------------------------------------
[2008-01-11 03:32:02] graced at wingsnw dot com
Description:
------------
my.cnf files allow the username/password/hostname and other connection
information to be stored for later use.
The Mysqli extension accepts a username from the file (overriding the
default of the current login username) but not a password, thus it
attempts to connect with no password even when a password is specified.
The mysql command line client, when pointed at the file using
--defaults-extra-file=path/to/file.cnf, successfully connects.
Reproduce code:
---------------
my.cnf contents:
[client]
host = localhost
user = "username"
password = "topsecret"
PHP script:
<?php
error_reporting(E_ALL);
$DB = mysqli_init();
$DB->options(MYSQLI_READ_DEFAULT_FILE, "my.cnf");
$DB->options(MYSQLI_READ_DEFAULT_GROUP, "client");
$DB->real_connect();
Expected result:
----------------
A successful database connection.
Actual result:
--------------
Warning: mysqli::real_connect(): (28000/1045): Access denied for user
'wadmin'@'localhost' (using password: NO) in /home/.../- on line 6
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=43812&edit=1