2007年5月13日 星期日

如何在 joomla 找錯1 --- 設定錯誤顯示

我自己還是 joomla 的初學者,才剛接觸 joomla 兩個多月,實在有很多地方還不太明白,不過本著開源軟體的精神,把我的 joomla 找錯經驗分享出來,希望大家多多指教

1. 檢查系統的 display_errors 是否有開



  display_errors 如果沒開,根本不能找錯,因為什麼 bug 都不會看到
 
  在 joomla 資料夾下寫一個小程式 test.php
  
<?php
phpinfo(4);
?>

  執行 test.php 後搜尋 dispay_errors



  如何修改 display_errors 的參數值?

  a. 自架主機

    搜尋 php.ini 中的 display_errors
    修改 display_errors = On 後重新啟動 Web Server

  b. 虛擬主機及自架主機

    在 joomla安裝目錄下,用記事本 (notepad) 寫一個 .htaccess
    打入
   
    php_value display_errors 1   

    存檔時,記得要在 "存檔類型" 選 "所有檔案"
    註:如果你已經有 .htaccess 這個檔,那就直接加在最前面就好



    再次執行剛才的 test.php,應該就會看到結果


   
  c. 如果 display_errors 還是沒有 on,就表示你的 Apache 不允許修改 .htaccess
    也就是 Apache 目錄設定中的 AllowOverride 是 None

    如果你是自己架站的,你可以修改 Apache 目錄的設定
    註:下面的 /webroot/joomla_directory 是你的 joomla 安裝目錄 

<Directory "/webroot/joomla_directory">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

    重新啟動 Apache 就可以了

    ===============================================

    如果你是使用虛擬主機
   
    那只好修改
   
   joomla安裝目錄\administrator\index.php
   joomla安裝目錄\administrator\index2.php
   joomla安裝目錄\administrator\index3.php

    在每個檔案的
    line 23

    require_once( '../configuration.php' );

    下面加上

    ini_set('display_errors', 1);

2. 修改 joomla安裝目錄\configuration.php 中

$mosConfig_debug = '1';
$mosConfig_error_reporting = '2047';
// 如果你的 PHP 版本 > 5.2,你可以用 $mosConfig_error_reporting = '6143';

 ========================================
  如果做到上面這兩步驟,那你就能清楚的來找錯 (debug)
 ========================================

沒有留言: