2011-05-11 33 views
1

我有一個APC問題。 Parent.php包含具有相對路徑的另一個文件。例如PHP需要在清除APC緩存後才工作一次,然後發生500錯誤。爲什麼?

require_once'child.php';

如果我清除apc_cache,然後加載Parent.php,它的工作原理。 但在後續的加載中,它失敗。死於require_once'child.php'。

顯然相對路徑,保存到apc_cache時,沒有被正確翻譯上的下一個負載...

apc.include_once_override被關閉,所以它不是。

它還能是什麼?

編輯添加的錯誤: PHP致命錯誤:require_once()[function.require]:無法打開所需 '路徑/要/ file.php'

回答

0

這是一個延伸,但我看到的問題與您在處理硬鏈接文件時相關,這些文件可能會通過不同的路徑緩存。

無論如何,聽起來像一個錯誤。您是否使用最新的PHP和APC版本?如果是這樣,發佈一個錯誤報告。

+0

是的,它可以通過不同的路徑緩存......你是如何解決你的問題?順便說一句:PHP Version => 5.2.16 – joedevon 2011-05-11 12:17:47

+0

joedevon:我很可能通過明確指定路徑來解決問題。 – Evert 2011-05-11 12:49:30

+0

原來,它不可能是。當我清除緩存時,它第一次就會失敗......這是一個測試框......所以沒有其他路徑調用它,它已經失敗了。 – joedevon 2011-05-17 18:46:21

0

我曾經在APC上有過相對路徑的奇怪問題。問題是它有致命錯誤死了,我會通過遵循thread here解決了這個問題:

在我的項目下列行得到它的工作:

// Realpath needed to fix problem with APC 
require_once realpath($fullPath); 
+0

我有不同的錯誤。但是添加實時路徑可能並不會造成傷害。如果這有效,我會告訴你。 – joedevon 2011-05-11 12:17:02

+0

不幸的是沒有工作。 – joedevon 2011-05-17 18:45:11

3

如果你在你的配置有apc.stat=0 ,您的問題可能與此錯誤有關:https://bugs.php.net/bug.php?id=61854

設置apc.stat=1在我的PHP配置中爲我解決了這個問題。

+0

很久以前就完成了這個項目,但是感謝您的鏈接。 – joedevon 2012-06-16 22:47:55

+0

哈哈抱歉,應該仔細檢查日期。也許這會在某些時候幫助別人:-) – cgwyllie 2012-06-17 13:22:19

+0

感謝這個答案,幫了我很多:) – 2013-03-13 12:29:45

相關問題