2010-07-20 63 views
0

例如,如果我在'/var/www/tests/RunAllTests.php'中有一個名爲「RunAllTests.php」的php腳本,並且在該目錄內執行phpunit,則包含找到「RunAllTests.php」。PHPunit - CLI PHP文件包括/需要

如果我在同一個文件上從另一個目錄執行phpunit,可以說'/ var/www /',那麼就不能找到「RunAllTests.php」中包含的文件。 - 「無法打開流:沒有這樣的文件或目錄」

我保持這個有點模糊,讓我知道你是否需要一些更具體的。

回答

2

您的要求是錯誤/不可移植的:他們期望文件(或其他固定目錄)的目錄是工作目錄。

的選項有:

  1. 剛剛從正確的目錄開始進程。
  2. chdir(__DIR__)在您的腳本中。
  3. 包括/需要相對於__DIR__恆定在文件中(這是IMHO大多數便攜式)
  4. 限定一個工作在代碼目錄預先,使用該值(與(3),但更固定的)。
+0

謝謝wrikken。使用chdir結束,因爲一些包含是相對路徑1目錄返回,這使得magicvar __DIR__不適用我相信...仍在學習。 – Anthony 2010-07-20 02:43:54

+0

那麼,你仍然可以'包括__DIR __。'/ ../levelhigherfile.php';' – Wrikken 2010-07-20 02:44:43

+0

你可以把'__DIR__'的值放在常量'APPLICATION_PATH'或'TEST_PATH'中,並在其他文件中使用該常量。 – andho 2011-02-16 08:24:11