安装FAQ
這一頁包含人們安裝Moodle時,最常問的一些問題。如果你有遵循安裝說明 但仍遇到困難,那麼這一頁可能對你有幫助。
如果再這一頁找不到你要的答案,那試著到moodle.org 的 使用 Moodle 課程。 從以關鍵字在討論區搜尋開始,說不定你的問題已經曾被討論過。 如果你找不到你要的,那就試著把你的問題挑倒是當的討論區。 - 或許有某個人能夠幫助你。
如果你試過多種方法,仍無法解決問題,且你的moodle是在防火牆(Firewalls)之後運作,或許你應該是著重新設定你的防火牆,以確保它沒有阻礙了必要的功能或需要的溝通。防火牆很少對 Moodle 造成問題,但偶爾會因為設定錯誤,而減損了它的功能。
使用下列表單跳到下列適當的答案上:
當我試著去取用或檢視我上傳的檔案時,我得到"找不到檔案" 的錯誤訊息
例如說您看到: Not Found: The requested URL /moodle/file.php/2/myfile.jpg was not found on this server.
您的網頁伺服器需要被設定成允許腳本名稱之後的 URL 可以直接傳遞給這腳本。在Apache 1上,它通常是開啟的,但是在Apache 2上,預設通常是關閉的。 要開啟它,把這行加到伺服器的 httpd.conf 檔案中,或加到本地目錄的 .htaccess 檔案中 (參見 安裝說明 會有詳細說明):
AcceptPathInfo on
注意,這只對Apache版本2.x有效。
如果您不是用 Apache 2,而仍然有這問題(不太可能), 那您可以透過 Moodle使用替代的解決方式。缺點是 回應速度會稍微便慢,且您無法在 HTM 資源中使用相對連結。
要使用這一替代方法:以管理員身份登入,進入 "設定變項"頁面,並更改 "slasharguments"的設定。 您現在應該能存取您的上傳檔案了。
PHP - 它是否安裝好了,以及我有的是哪一版本?
在您的網站裡建一個新檔,命名為 info.php,裡面輸入下列文字,然後用您的瀏覽器打開它:
<?PHP phpinfo() ?>
如果沒看到什麼,那您就是沒安裝 PHP。請參見安裝文件,您可找到在哪裡可以下載該程式的資訊。
為什麼我的頁面都是空白?
檢查在 config.php 的根目錄(dirroot)變項。您必須使用完整的絕對路徑名稱,例如:
$CFG->dirroot = "d:\inetpub\sites\www.yoursite.com\web\moodle";
使用 Redhat Linux 平台者,請參見: Redhat Linux
我的頁面顯示有嚴重錯誤,例如:call to undefined function: get_string()
如果您看到的錯誤訊息像這樣:
Parse error: parse error, unexpected T_VARIABLE in c:\program files\easyphp\www\moodle\config.php on line 94 Fatal error: Call to undefined function: get_string() in c:\program files\easyphp\www\moodle\mod\resource\lib.php on line 11
這可能是您在 config.php 中,留下多餘的分號或引號 (第94行).
另一個理由是,您曾經以一般文書編輯程式,像 Word 來開啟 config.php 檔,然後把它存成 HTML網頁格式,而非純文字檔。
為什麼我一直得到錯誤訊息說:"headers already sent"?
如果您看到的錯誤訊息像這樣:
Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php on line 1322
Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/lib/moodlelib.php on line 1323
Warning: Cannot add header information - headers already sent by (output started at /webs/moodle/config.php:87) in /webs/moodle/login/index.php on line 54
您在您的設定檔 config.php 的最後的 ?> 之後,還有空白行或空格。 有些文字編輯器會自己加上這些,例如,Windows系統裡的 Notepad,所以您最好改用其他專門用來編輯程式的文字編輯器, 來完全移除這些空格或空行。(建議到 http://toget.pchome.com.tw/ 下載免費軟體 Notepad++,有中文介面--譯者)
我不斷收到錯誤訊息: Failed opening required '/web/moodle/lib/setup.php'
在您的 config.php 檔中,您在 dirroot 變項上的設定,必須是從您伺服器的硬碟的根目錄開始的完整路徑。
有時候,人們用的徑路只從他們的Web根目錄開始, 或從網頁伺服器根目錄開始的相對路徑,這是不對的。
我在編輯的文字中加上單引號(') 或雙引號("),都會造成錯誤,或多出一個斜線(/)。
引號造成的問題是來自於不正確的"magic quotes" 設定。Moodle 需要做下列設定 (它通常是預設的):
magic_quotes_gpc = On magic_quotes_runtime = Off
更詳細內容,請參見安裝文件中的 網頁伺服器設定 。
我一直得到關於 session_start 的錯誤訊息。
如果您看到的錯誤訊息像這樣
Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123
Warning: session_start() [function.session-start]: open(/tmp\sess_d40f380d37d431fc1516e9a895ad9ce0, O_RDWR) failed: No such file or directory (2) in G:\web\moodle\lib\setup.php on line 123
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at G:\web\moodle\lib\setup.php:1) in G:\web\moodle\lib\setup.php on line 123
... 以上這些都與 PHP 無法在您的硬碟(在目錄/tmp)儲存"session"檔案有關。常見的原因是您的硬碟上根本沒有 /tmp 資料夾。這通常是把 Moodle 安裝在 Windows 上,才會發生。
解決之道是修改 PHP 設定,把這路徑指向一個真正存在的資料夾。您可以打開您的 php.ini 檔,改成:
session.save_path = C:\temp
或者修改您的 Moodle 的主目錄裡的 .htaccess 檔,改成:
php_value session.save_path "/home/moodle/sessions"
當我進入管理頁面時,我被告知要把根目錄(dirroot)清空!
如果您在 Moodle 1.0.9 看到錯誤訊息像這樣:
請修改您在 config.php 的設定: 您有: $CFG->dirroot = "/home/users/fred/public_html/moodle"; 但它應該是: $CFG->dirroot = "";
這是您碰巧遇到了在某些伺服器上才會發生的小臭蟲。 問題出在於這錯誤檢查機制,而不是您真正的的路徑。 要修理它,在 admin/index.php 檔案中找出這一行(第66行):
if ($dirroot != $CFG->dirroot) {
更改它成為這樣:
if (!empty($dirroot) and $dirroot != $CFG->dirroot) {
我登入,但登入連結沒有改變。我已經登入,並且可以自由瀏覽。
請確定您在 $CFG->wwwroot 的設定上所用的 URLs 和您真正用來進入這網站的一模一樣。
當試著新添加一資源時,我得到錯誤訊息。
假使您的伺服器是使用 Apache,那很可能是您在 config.php 的設定上, $CFG->wwwroot 不同於您實際用來進入網站的 URLs 。您也可以試著在管理的設定上關閉"secureforms"。
在第一次設定的過程中,它沒有要求我建立管理員帳號!
這是在 Moodle 1.0.9版之前一直都有的臭蟲,現在主要程式碼及1.1.版都已經修復。
它沒有影響到所有的人,它只發生在當有人安裝 Moodle 時,它們的瀏覽器中剛好有叫做"user", "admin", 或"teacher"的 cookie,只不過它們是來自其他程式。
最快的處理方法包括:在安裝之前,從您的瀏覽器中刪除那些 cookies;使用不同的瀏覽器;或編輯 moodle/admin/user.php 檔,在靠近上端處插入這幾行:
unset($user); unset($admin); unset($teacher);
在執行以上任一種補救處理之後,最好把您的資料庫的資料表放棄掉,並用腳本重新安裝一次。
我完全無法登入- 我一直卡在登入畫面上。
最常見的原因是您自己的電腦 (無是您的 Moodle 伺服器) 裝有防火牆,它會去掉導覽器所需的參照訊息。以下是修復的指令。 Norton 防火牆。
伺服器管理員也可以為每個人來修復這問題,他只要編輯 Moodle 的設定頁,並把變項 "secureforms" 改成 "No"即可。
另一個可能原因是伺服器端沒有把 sessions 設定好。您可以呼叫腳本 http://yourserver/moodle/lib/session-test.php 來加以測試。
我如何備份我的 Moodle 網站?
您最需要作備份的兩樣東西是:您的資料庫和上傳的檔案。Moodle 腳本本身是不需要備份的,因為在必要時,您可以從官方網站上下載最新的版本。
有許多種方式可以做這類的備份。這裡有一個您可以在Unix上執行的小腳本的指令敘述,可用來備份資料庫。(也可以經由 cron 方式,每天執行這類的腳本)。
cd /my/backup/directory
mv moodle-database.sql.gz moodle-database-old.sql.gz
mysqldump -h example.com -u myusername --password=mypassword -C -Q -e -a mydatabasename > moodle-database.sql
gzip moodle-database.sql
就上傳的檔案而言,您可以使用定期使用 rsync 只拷貝變更過的檔案到另一台主機上:
rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory /my/backup/directory/
為什麼我的 Moodle 網站無法正確顯示日期和時間?
每一種語言需要不同的語言編碼 (稱之為地區編碼),好讓日期能正確顯示。這語言包包含預設的標準編碼 ,但是有時候這些在 Windows 伺服器上不管用。
您可以從以下兩的網頁: 語言編碼 和 國家/區域 編碼,(eg "esp_esp" for spanish)為 Windows系統找到正確的地區編碼
這些新的地區編碼可以輸入到:管理 -> 設定 -> 變數頁,他們可以覆蓋掉現在所用語言包的部分內容。
我的討論區無法送出 Email副本
如果您要從討論區,指派作業,等等自動送出 email,您必須正確地設定 cron。 This same process 也執行很多清理的工作,比如,刪除舊的未確認用戶,没選修課程的舊學生,等等。
基本上您需要設定一程序定期调用 http://yoursite/admin/cron.php 這腳本。請參見 安裝文件裡有關 cron 的章節.
提示: 試著在 Moodle 變項頁使用預設值。把 smtphost 留下空白。 這對大多數用戶都可接受。