0

顾名思义,我的 db 类尝试自动加载 PDO.php 时遇到问题

class DBObject extends PDO
{
    public function __construct( $config ) 
    {
        $conn = "mysql:host=" . $config['host'] . ";dbname=" . $config[ 'dbname' ];


        try
        {
            parent::__construct( $conn, $config['user'], $config['password'] );
            $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        }  
        catch(PDOException $e) 
        {
            echo $e->getMessage();  
        }  
    }}

这在本地运行良好。

自动加载功能:

function autoload( $className ) 
{
    $filename = str_replace("_", DIRECTORY_SEPARATOR, $className ) . '.php';

    require_once( $filename );
}
spl_autoload_extensions('.php');

// Use default autoload implementation
spl_autoload_register("autoload");

没有什么花哨。

奇怪的是网站的前端工作正常 - 没有错误,一切显示正常,所有数据库访问工作,但是当我进入登台服务器上的后端时(我工作的公司制作的自定义 cms,它使用 mysql_ * ) 当我加载模型时,它会尝试在自动加载器中加载 PDO.php。

我唯一能想到的就是导致问题的原因是,使用 DBObject 的类是在函数内部实例化的,但即便如此,这也只是一个猜测,而且还很遥远。没有什么特别的事情发生,没有神奇的方法,没有命名空间,没有其他自动加载功能

因为我被困在 php 5.2.7 上,所以没有命名空间,所以我在这里找到的其他线程都没有帮助。

根据phpinfo,安装了PDO,带有PDO Driver for MySQL,客户端库版本5.0.96

任何帮助将不胜感激。

4

1 回答 1

1

好的,所以我想通了。cms 目录中有一个 php.ini 文件,注释掉整个文件不起作用 - 我不得不删除它,一切都像在本地一样工作。

于 2013-10-02T23:18:08.563 回答