沒有提示任何錯誤,困擾了新手我一週半的時間
每次只要 PHP 有任何錯誤,小錯誤例如少了分號,或者是大錯誤,如邏輯不對、找不到變數等等。都只有顯示空白,需要自己一行一行去 debug,因為是正在學習模仿的階段,可以對照著別人的 code 比對,但是這長久也不是辦法,所以著手 Google 到底是發生了什麼事情?
觀察一下 display_errors
開關的差別:
別人執行 PHP 後,發生錯誤會提示哪裡有誤
錯誤版本的 php 檔,少了;
:
<?php
// ...略
$username = $user['username']
// ...略
?>
印出結果為: error 500,沒有 load 出來錯在哪:
Parse error: syntax error, unexpected token "}" in /Applications/XAMPP/xamppfiles/htdocs/be101/board_mine/index.php on line 14
我自己執行 PHP 後,發生錯誤只出現 Error 500
錯誤版本的 php 檔,錯誤之處在於少了;
:
<?php
// ...略
$username = $user['username']
// ...略
?>
印出結果為: error 500,沒有 load 出來錯在哪:
Google 告訴我:找到 php.ini
就對了!
執行php網頁出現【這個網頁無法正常運作】的解決方法
萬事都有個但是!每個 windows 都告訴我 php.ini 的檔案路徑在哪,但我是 Mac 就是找不到他的路徑在哪,崩潰!
直到我找到這一個教學影片Setting display_errors variable in the php.ini for XAMPP on Macintosh,影片中教我怎麼找到 php.ini
,還教我怎麼樣開啟 display_errors: on
,真的是在茫茫的雲裡、霧裡看到新世界!
跟著 Youtube 教學影片來解決這崩潰的問題吧!
首先要找到神奇的 php.ini
到底位在 Mac XAMPP 的哪裡呢?
- 開啟 XAMPP,點選 Manage Servers,並讓 MySQL dataBase、ProFTPD、Apache Web Server running 跑起來!
- 點選選單上的 Welcome 後,再點選 Go to Application
- 會進入一個網頁,點選導覽列的 PHP info。
- Coomand + F 搜尋
php.ini
,這樣就可以找到php.ini
存在 XAMPP 資料夾的位置。
- 結果
php.ini
位在Configuration File (php.ini) Path/Applications/XAMPP/xamppfiles/etc
準備來調整 display_errors
的開關囉!
- 先關閉 XAMPP 的 Servers,讓 MySQL dataBase、ProFTPD、Apache Web Server 停下來!
- 以文件編輯器開啟 Applications/XAMPP/xamppfiles/etc/php.ini
- Command + F 搜尋「display_error」:
- 找到
display_errors
後,將Off
改為On
,並存檔。
- 重啟 XAMPP 的 Servers,讓 MySQL dataBase、ProFTPD、Apache Web Server
- 回到 phpinfo 頁面,檢查在 server 連線後,是否有把
display_errors
改為 on。
- 修改完成。
當我 PHP 檔案有誤,然後執行時,就可以看到跟別人一樣的錯誤訊息提示頁面囉!如下: