0

我正在我的本地服务器(ubuntu 10.04 LTS Lucid Lynx)上开发一个使用 postgre 数据库的 ZF 项目。
我正在尝试使用 phpunit 运行一个非常简单的测试:

    public function testIndexAction() {
        $this->dispatch('/');  
        $this->assertController('index');  
        $this->assertAction('index');  
        $this->assertModule('default');  
        $this->assertXpathContentContains('/html/body/div[1]/div[@id=\'content\']/p', 'Los puntos de mis amigos son mis amigos..');  
    }

但它在第一个断言中失败,并带有此消息:

断言使用的最后一个控制器失败 <"error"> 是 "index"
我在作者遇到同样问题的地方发现了这个问题:他通过将 php_pdo_pgsql.dll 库添加到他的第二个 php.ini 来解决这个问题。但他在windows上并使用xampp。
无论如何我检查了它:/etc/php5/apache2/php.ini有这 3 行:
extension=msql.so
extension=pgsql.so
extension=pdo_pgsql.so
我将它们添加到我发现的另一个 php.ini 文件中:/etc/php5/cli/php.ini现在当我运行测试时它说:
PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php5/20090626+lfs/msql.so' - /usr/lib/php5/20090626+lfs/msql.so:无法打开共享对象文件:否第 0 行 Unknown 中的此类文件或目录
PHP 警告:PHP 启动:无法加载动态库 '/usr/lib/php5/20090626+lfs/pdo_pgsql.so' - /usr/lib/php5/20090626+lfs/pdo_pgsql.so:未定义符号:未知上的 php_pdo_register_driver第 0 行
PHP 警告:模块 'pgsql' 已在第 0 行的未知中加载
现在我真的没有想法......
谁能指出我正确的方向?
谢谢

4

1 回答 1

0

事实证明,我的测试数据库的一张表中缺少一列。我添加了它,现在很好。由于我在过去几个小时试图让 phpunit 工作,我仍在考虑一般配置,而不是我的代码。

于 2011-09-20T14:36:56.260 回答