[prev in list] [next in list] [prev in thread] [next in thread]
List: pear-dev
Subject: [PEAR-DEV] Bug #18066 Updated: Data source name (DSN) parsing bug + FIX
From: tim-phpbug () bitgems ! com
Date: 2002-06-30 22:12:56
[Download RAW message or body]
ID: 18066
Updated by: tim-phpbug@bitgems.com
Reported By: tim-phpbug@bitgems.com
Status: Bogus
Bug Type: PEAR related
Operating System: Linux Trustix
PHP Version: 4.2.1
New Comment:
Thanks for a quick response. I'll change my configuration to use the
new format now that I know about it.
What would be really helpful is if the new format were mentioned in the
comment for parseDSN--that was what I was looking at for documentation.
Previous Comments:
------------------------------------------------------------------------
[2002-06-30 14:01:00] cox@php.net
From http://pear.php.net/manual/en/core.db.tut_dsn.php:
With an up-to-date version of DB, you can use a second DSN format
phptype(syntax)://user:pass@protocol(proto_opts)/database example:
Connect to database through a socket
mysql://user@unix(/path/to/socket)/pear
Connect to database on a non standard port
pgsql://user:pass@word@tcp(localhost:5555)/pear
Tomas V.V.Cox
PS.- You can use pear-dev@lists.php.net for reporting bugs or
pear-general@lists.php.net for support questions
------------------------------------------------------------------------
[2002-06-29 15:39:47] tim-phpbug@bitgems.com
I'm using a DSN of the format:
mysql://database:password@localhost:/path/to/port/mysql.sock/squirrel
Which seemed like it should work, but it fails because of the way PEAR
parses the DSN: Instead of looking for the last / to deliniate the
database, it looks for the first. I changed the following lines in
DB.php, in the function parseDSN, at line 502:
...
if (strpos($dsn, '/') !== false) {
// **THM**
$offset = strrpos($dsn,'/') ;
$proto_opts = substr($dsn,0,$offset) ;
$dsn = substr($dsn,$offset+1);
// old: list($proto_opts, $dsn) = explode('/', $dsn, 2);
} else {
...
This fixes the problem and should remain compatible with numeric ports
as well. A quick scan of the web site didn't reveal how to submit
patches, so I hope this is Kosher.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=18066&edit=1
--
PEAR Development Mailing List (http://pear.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic