ZEND类未在生产服务器上加载

时间:2011-03-17 14:40:53

标签: php database zend-framework autoload

我将网站从共享服务器转移到专用服务器,但该网站无法正常工作。我收到错误为“致命错误:未捕获异常'Zend_Db_Adapter_Exception',消息'此适配器需要PDO扩展名,但未加载扩展名”;

结果:

if (extension_loaded('pdo') and extension_loaded('pdo_mysql')) {
        print "Success";
        } else {
        print "Failure";
        }

也是假的。

------索引文件------

<?php

// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    get_include_path(),
)));

/** Zend_Application */
require_once 'Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
            ->run();

网站链接:http://voxsun.com 网站的phpinfo:http://voxsun.com/public/info.php

谢谢, 拉利特

2 个答案:

答案 0 :(得分:2)

phpinfo()的第一行,我们可以阅读:

'./configure' '--disable-pdo' 

嗯,这是不言自明的。

如果您自己编译PHP,我确实建议您使用您的包管理器(aptitude,yum等),这将简化您的系统升级并避免您编译它每次需要更新PHP时手 只有在非常好的理由时才会这样做。

答案 1 :(得分:1)

从你的info.php ... 配置命令'./configure'' - disable-pdo'所以说得简单,php没有用pdo编译。

一种选择是尝试在脚本开头的public / index.php中手动加载扩展(我不希望它能够工作,但值得尝试一下):

dl('pdo.so');
dl('pdo_mysql.so');

PHP: dl - Loads a PHP extension at runtime