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