Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
 
3
/**
4
 * Tests the various ways DB's connect() function operates
5
 *
6
 * PHP versions 4 and 5
7
 *
8
 * LICENSE: This source file is subject to version 3.0 of the PHP license
9
 * that is available through the world-wide-web at the following URI:
10
 * http://www.php.net/license/3_0.txt.  If you did not receive a copy of
11
 * the PHP License and are unable to obtain it through the web, please
12
 * send a note to license@php.net so we can mail you a copy immediately.
13
 *
14
 * @category   Database
15
 * @package    DB
16
 * @author     Daniel Convissor <danielc@php.net>
17
 * @copyright  1997-2005 The PHP Group
18
 * @license    http://www.php.net/license/3_0.txt  PHP License 3.0
19
 * @version    $Id: multiconnect.php,v 1.2 2005/02/03 05:49:45 danielc Exp $
20
 * @link       http://pear.php.net/package/DB
21
 * @since      File available since Release 1.7.0
22
 */
23
 
24
/**
25
 * Establish the include_path, DSN's and connection $options
26
 */
27
require_once './setup.inc';
28
 
29
foreach ($dsns as $dbms => $dsn) {
30
    echo "======== $dbms ========\n";
31
    $options['persistent'] = false;
32
    $dbh =& DB::connect($dsn, $options);
33
    if (DB::isError($dbh)) {
34
        echo 'PROBLEM: ' . $dbh->getUserInfo() . "\n";
35
        continue;
36
    }
37
 
38
    if ($dbh->provides('new_link')
39
        && version_compare(phpversion(), $dbh->provides('new_link'), '>='))
40
    {
41
        $probs = false;
42
        $dsn = DB::parseDSN($dsn);
43
        $dsn['new_link'] = true;
44
        $dbh =& DB::connect($dsn, $options);
45
        if (DB::isError($dbh)) {
46
            echo 'NEW LINK PROBLEM: ' . $dbh->getUserInfo() . "\n";
47
            $probs = true;
48
        }
49
 
50
        if ($dbh->provides('pconnect')) {
51
            $options['persistent'] = true;
52
            $dbh->disconnect();
53
            $dbh =& DB::connect($dsn, $options);
54
            if (DB::isError($dbh)) {
55
                echo 'PERSIST NEWCON PROBLEM: ' . $dbh->getUserInfo() . "\n";
56
                $probs = true;
57
            }
58
 
59
            unset($dsn['new_link']);
60
            $dbh->disconnect();
61
            $dbh =& DB::connect($dsn, $options);
62
            if (DB::isError($dbh)) {
63
                echo 'PERSIST OLDCON PROBLEM: ' . $dbh->getUserInfo() . "\n";
64
                $probs = true;
65
            }
66
        }
67
        if ($probs) {
68
            continue;
69
        }
70
        $dbh->disconnect();
71
 
72
    } elseif ($dbh->provides('pconnect')) {
73
        $options['persistent'] = true;
74
        $dbh->disconnect();
75
        $dbh =& DB::connect($dsn, $options);
76
        if (DB::isError($dbh)) {
77
            echo 'PERSIST PROBLEM: ' . $dbh->getUserInfo() . "\n";
78
            continue;
79
        }
80
        $dbh->disconnect();
81
    }
82
    echo "GOOD\n";
83
}