打開 PHP 服務(wù)的報(bào)錯功能
編輯 php.ini 設(shè)置字段:
display_errors = On
error_reporting = E_ALL & ~E_NOTICE
error_reporting 變量的默認(rèn)值是 E_ALL。這個(gè)設(shè)置會顯示從不良編碼實(shí)踐到無害提示到出錯的所有信息。E_ALL 對于開發(fā)過程來說有點(diǎn)太細(xì),因?yàn)樗谄聊簧蠟橐恍┬∈拢ɡ缱兞课闯跏蓟┮诧@示提示,會搞糟瀏覽器的輸出。
php 執(zhí)行權(quán)限問題
在 Ubuntu 的 php文件執(zhí)行 move_uploaded_file() 移動文件失敗。
move_uploaded_file() 移動文件失敗,更改文件夾權(quán)限時(shí),只更改了文件夾本身的權(quán)限,而沒有遞歸更改文件夾下所有文件的權(quán)限,沒有使用 chmod 的 -R 模式。
在 Ubuntu 使用 Smarty 模板引擎時(shí),運(yùn)行時(shí)主頁空白,要給根目錄內(nèi)生成編譯文件的 php文件足夠的執(zhí)行權(quán)限,否則無法生成編譯內(nèi)容。
更換網(wǎng)站根目錄下的文件后,即使曾經(jīng)已給了根目錄權(quán)限,更換文件后也需要重新給所有的新文件權(quán)限,因此要重新給根目錄遞歸的權(quán)限。
require_once 報(bào)錯
require_once './xxx.php'; 改為 requrie_once 'xxx.php';
404 NOT FOUNT
網(wǎng)站目錄下的文件名與網(wǎng)頁中的鏈接書寫的大小寫必須一致,否則找不到頁面。 注意,修改配置文件修改后要重啟相應(yīng)服務(wù),php 和 nginx 對應(yīng)不同的服務(wù)。
目錄分隔符
Ubuntu內(nèi)以正斜杠(/)為目錄分隔符,不可以使用反斜杠(\)代替。
ThinkPHP報(bào)模板不存在:./Application/Home/View/Index/index.html
在客戶端測試網(wǎng)站的時(shí)候不區(qū)分大小寫,因此不會檢查出大小寫上的錯誤,當(dāng)拿到真正的服務(wù)器上運(yùn)行時(shí)就會因此報(bào)錯。將方法名index改成大寫才行。
error 1292 (22007): Incorrect datetime value: ‘0000-00-00 00:00:00’ for column ‘xx’ at row 1
執(zhí)行 show variables like ‘%sql_mode%’;
值中包含NO_ZERO_IN_DATE,NO_ZERO_DATE,TRADITIONAL,去掉這三個(gè)重新賦值:
set global
sql_mode=’STRICT_TRANS_TABLES,STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER’;
最后重新登錄mysql,會看到該值發(fā)生變化。
include某頁面后不能使用里面定義的變量
在函數(shù)里不能使用外部引入的變量,用 global 將變量轉(zhuǎn)化為全局變量即可。例如:
include 'config.php';
global $dbhost, $dbuser, $dbpwd, $dbname, $dbcharset;
圖形驗(yàn)證碼不顯示
安裝GD庫。
sudo apt-get install php5-gd
安裝時(shí),不要省略 sudo 一詞,否則報(bào)錯,導(dǎo)致安裝不完整。
USA-IDC專業(yè)韓國數(shù)據(jù)中專業(yè)提供優(yōu)質(zhì)php服務(wù)器租用,sdn智能線路分配,最大限度利用帶寬,性能穩(wěn)定可靠,歡迎廣大用戶聯(lián)系24小時(shí)在線客服租用。