我想用CodeIgniter使用SimpleTest,使用maroonbytes提供的代码。我正在使用LAMP和NetBeans 6.9。SimpleTest与CodeIgniter - 不会识别文件 - 变量死亡?
test.php页面加载到我的浏览器中。我有一个存根测试,并显示在下拉选择中。当我尝试运行它,我得到2个PHP错误:
消息: include_once(/var/www/sparts3/main/tests/basic_test_v.php): 未能打开流:没有这样的文件或 目录
消息:include_once()的: 失败开口 '/var/www/sparts3/main/tests/basic_test_v.php' 列入 (include_path中=”:在/ usr /共享/ PHP:/ usr/share/pear')
路径有误 - basic_test_v.php位于子文件夹中/tests/views。
调试器指向这test.php的:
function add_test($file, &$test)
出于某种原因的NetBeans不会在这一点上暴露$文件的价值。这是否意味着它是空的?
我已经使用了一行代码,因为它让我通过了代码404页面未找到。似乎调试器GET导致验证器失败。所以我增加了一个标准,我的无知方式(我敢肯定,这应该是一个处理的异常或东西):
if ($this->uri->uri_string == '' || $this->uri->uri_string == 'XDEBUG_SESSION_START')
{ ... }
我怎样才能解决这个问题?顺便说一句,这是试图解决my other post,我会更新;似乎最好将此作为一个离散的问题。
更新1:我一直在使用Web开发插件(火狐)与POST项实验。我相信这些代码被错误地处理了。它仍然显示NetBeans在调试时显示一些字符串变量时显得很笨拙;这令人沮丧。
UPDATE 2:在我看来,有效的代码处理停止在同一点NetBeans停止显示变量。我正在通过test.php。我通过函数中途,add_test($ file,& $ test)。这个函数用if语句打开;那完成得很好,我可以看到变量。然后,一个新的if语句:
if (file_exists($implementation))
{
require_once ($implementation); ...
只要我在这条线,2件事情:
- 变量在NetBeans中显示一片空白 除了超全局
- 代码的行为仿佛 $实施是一个空的变量
我添加了一个状态正好在这些线上方:
$implementation = 'http://var/www/sparts3/main/tests/views/basic_test_view.php';
这不会改变任何东西。浏览器输出是相同的,无论我是否使用NetBeans/Xdebug。
所以它开始看起来像一个PHP处理故障。那些存在吗?我可以尝试上传并尝试从主机服务中获取 - 仅用于诊断线索,并且不用担心,因为没有调试能力的CI对我没有兴趣。
更新3:我什么都试过了WAMP的PC上。相同的浏览器结果(加上一些“不推荐”的错误,与PHP 4和5有关)。我想我可以在PC上进行调试(如果Xdebug正在运行),但似乎没什么意义。
感谢您的工作和几点建议。愿你的无聊能够回报你周围的人。 – Smandoli 2010-08-03 17:21:53
不客气 – teemitzitrone 2010-08-04 08:38:46