顾名思义,我的 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
任何帮助将不胜感激。