设置包括Wamp上PEAR的路径

时间:2011-11-13 16:17:17

标签: php windows wamp pear include-path

已安装PEAR并按照http://www.phpunit.de/manual/current/en/installation.html上的说明进行操作:

pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit.

然后,我创建了测试:

<?php
# error reporting
ini_set('display_errors',1);
error_reporting(E_ALL|E_STRICT);

# include TestRunner
require_once 'PHPUnit/TextUI/TestRunner.php';

# our test class
class ExampleTest extends PHPUnit_Framework_TestCase
{
    public function testOne()
    {
        $this->assertTrue(FALSE);
    }
}

# run the test
$suite = new PHPUnit_Framework_TestSuite('ExampleTest');
PHPUnit_TextUI_TestRunner::run($suite);
?>

我在php.ini文件中包含以下内容并重新启动Apache:

include_path = ".;C:\Program Files/wamp/bin/php/php5.3.8"
include_path = ".;C:\Program Files/wamp/bin/php/php5.3.8/pear"
include_path = ".;C:\Program Files/wamp/bin/php/php5.3.8/pear/PHPUnit"

我得到Warning: require_once(PHPUnit/TextUI/TestRunner.php) [function.require-once]: failed to open stream: No such file or directory in ...

为什么包含路径不起作用?是因为Program files中有空格吗?

在Windows XP和WAMP中工作。

编辑:我按照建议更新了路径。

在require_once调用之前echo ini_get('include_path');的输出是:

.;C:\Program Files/wamp/bin/php/php5.3.8/pear

此外,删除require_once命令会抛出Fatal error: Class 'PHPUnit_Framework_TestCase' not found in...

1 个答案:

答案 0 :(得分:2)

通过将这三行添加到ini中,最后一行将覆盖所有内容。只使用这个

include_path = ".;C:\Program Files\wamp\bin\php\php5.3.8\pear"

编辑:添加@Gordon评论。我们需要保留\pear。因为内部梨库假设梨已经在包含路径中。

http://pear.php.net/manual/en/installation.checking.php#installation.checking.cli.modifyingphpini