我想用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