0
我有一個奇怪的行爲與PHP腳本的一節(更確切地說是一個條件語句)。調試和執行不同PHP XDebug
當在XDebug(phpStorm)條件的確切行上使用斷點時,腳本按預期執行。相反,當正常執行或在其他任何地方(括號之前或之內)破壞時,假定的真實條件被跳過。
if($interval > $maxCovering) //2 DateInterval objects - break here and it works
{
//Do something - never reached on standard execution
}
我試着在行前暫停執行,它沒有幫助。此外,我做了一些研究,並就PHP的這個問題提出了空洞。
什麼會導致這種行爲,有哪些補救措施?
EDIT 這些都是典型的日誌: 「最大」和「間」是參數和「COMPAR」是比較 第2行是執行斷點和最後2而不
打印兩個變量的值以進行調試。也許使用和不使用斷點之間的區別很明顯。 – RhinoDevel
在比較之前,您是否嘗試過將變量值記錄到文件中?運行時的差異(特別是如果根本沒有加載xdebug擴展)可以使整體不同(xdebug,即使你沒有調試,但只是加載了擴展,使你的代碼變得更慢) – LazyOne
@RhinoDevel謝謝你的提示!我發佈了日誌。 – user3311142