當我開始我的最新項目時,我學會了如何使用xdebug擴展,並從此一直使用它。現在我準備啓動服務器並使用此項目進行生產,並且我的網站無法正常工作。前端頁面似乎也起作用,這也是基於php的,但後端端點查詢數據庫並將一些數據返回到前端總是返回500狀態碼。所以我附加了xdebug並找出如何遠程運行它,並且所有頁面都開始工作,而不需要更改任何代碼。我進入php.ini文件並關閉它,頁面繼續工作。由於這是一個AWS EC2服務器,因此我刪除了該實例並創建了一個運行我編寫的用於安裝所有軟件的相同初始化腳本的新實例,並得到完全相同的問題。直到我按照xdebug安裝說明並重新啓動apache2,服務器才工作。即使在我通過php.ini文件取消xdebug擴展時,代碼仍然可以繼續工作。即使在系統重新啓動後,它仍然繼續工作,因此無論什麼問題得到解決似乎都是永久性的。只有在使用Xdebug擴展時,代碼纔有效
構建和附加xdebug擴展以及重新啓動Apache2的操作對LAMP堆棧會產生什麼影響,即使在關閉擴展之後,它也能使我的代碼正常工作?我的服務器是使用腳本構建的,腳本運行各種apt-get install命令,但沒有提供二進制文件,因爲它們都是社區提供的程序。像發條一樣,每次重建機器時都會中斷,直到我應用擴展。如果必須的話,我可以將它自動化到我的構建腳本中,但是這讓我有點瘋狂,我不明白髮生了什麼。
看看錯誤日誌。在默認情況下,Ubuntu位於'/ var/log/apache2/error.log',你需要root來訪問它。您可以運行如下命令:'sudo tail -f/var/log/apache2/error.log'將其打開並保持打開狀態以進行監視。然後重新加載錯誤頁面幾次,看看出現了什麼。我想下面,你正在調用一些內部xdebug函數,沒有擴展名不存在。這或安裝xdebug它覆蓋了一些php.ini值的錯誤,並且錯誤總是發生,你只是沒有看到它。 –
謝謝,對於這個問題以及未來的問題我非常有用。我需要更好地瞭解Linux服務器上可以使用哪些日誌。 –