【发布时间】:2012-03-11 07:03:28
【问题描述】:
我最近安装了 PHPUnit 3.6.10。
我不明白 php.ini 文件中的 include_path 有什么问题
用到的php.ini文件如下
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File: /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed: /etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/mysql.ini,
/etc/php5/cli/conf.d/mysqli.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_mysql.ini
Apache2 使用的另一个文件是/etc/php5/apache2/php.ini
我已经更改了 cli/php.ini 和 apache2/php.ini 中的包含路径
我在php.ini中写的包含路径是
include_path = ".:/home/username/pear/share/pear:/usr/share/php
以前包含路径是
include_path = .:/usr/share/php:/usr/share/pear
但是PHPUnit的错误表单是这样的
PHP Warning: require_once(PHPUnit/Framework.php): failed to open stream: No such file or directory in /home/username/public_html/PHP-Library/APITest.php on line 14
PHP Fatal error: require_once(): Failed opening required 'PHPUnit/Framework.php' (include_path='.:/home/username/pear/share/pear') in /home/username/public_html/PHP-Library/APITest.php on line 14
这是写在 APITest.php 文件中的
require_once 'PHPUnit/Framework.php';
谁能解释问题是什么? php.ini 还有其他地方需要修改吗?
更新
当我在命令下运行时
$ php -c /path/to/php.ini -r 'echo get_include_path()."\n";'
.:/usr/share/php:/usr/share/pear
更新 2 当我删除 require 并扩展 PHPUnit_Framework_TestCase 时,我收到以下错误 在我发现的 apache2 日志中
[Sun Mar 11 14:54:58 2012] [error] [client 127.0.0.1] PHP Fatal error: Class 'PHPUnit_Framework_TestCase' not found in /home/username/public_html/phplib/APITest.php on line 15
【问题讨论】:
-
哦,你想在 Apache 中运行 PHPUnit?你能发布你用来启动测试运行器的代码吗?查看
/usr/bin/phpunit和phpunit.php以了解标准脚本的作用。 -
命令行现在可以正常工作了。但是从浏览器运行时出现 http 500 错误。
-
具体来说,你是如何从浏览器运行它的?