Các câu hỏi thường gặp(FAQ)

Trang này chứa các câu trả lời về một số câu hỏi thường gặp ở những người cài đặt Moodle . Nếu bạn đã làm theo hướng dẫn cài đặt nhưng bạn vẫn gặp trục trặc thì đây là nơi tốt nhất giải đáp các thắc mắc của bạn.

Nếu không tìm thấy câu trả lời của bạn ở đây thử cua học Using Moodle trên moodle.org. Bắt đầu tìm kiếm các diễn đàn sử dụng một số từ khóa, có thể vấn đề của bạn đã được thảo luận. Nếu bạn không tìm thấy bất kỳ cái gì , thì thử gửi câu hỏi của bạn tới diễn đàn thích hợp - mọi người có thể sẽ giúp bạn.

Nếu bạn thử một số giải pháp không giải quyết được vấn đề và bạn đang chạy bên cạnh một bức tường lửa, tốt nhất bạn nên cấu hình lại bức tường lửa của bạn để đảm bảo rằng nó không ngăn chặn một chức năng được yêu cầu hoặc truyền thông cần thiết. Các bức tường lửa rất có thể là nguyên nhân gây ra các vấn đề của Moodle nhưng đôi khi nó là nguyên nhân của việc cấu hình bị thiếu trong thiết lập cấu hình cho bức tường lửa.

Sử dụng danh sách này để chuyển tới các câu trả lời thích hợp với vấn đề của bạn:

Bất cứ khi nào tôi cố gắng truy cập hoặc xem một file mà tôi tải lên, tôi đều nhận được một lỗi "File không tìm thấy "

Ví dụ: không tìm thấy: URL được yêu cầu /moodle/file.php/2/myfile.jpg không tìm thấy trên server này.

Web server của bạn cần được cấu hình lại để cho phép một phần URL sau tên một kịch bản có thể được truy cập trực tiếp tới kịch bản đó. Điều này thường được cho phép trong Apache 1, nhưng lại không cho phép trong Apache 2. Để bật nó thành on , thêm dòng này tới httpd.conf của bạn , hoặc tới một file .htaccess trong thư mục của bạn (xem Tài liệu hướng dẫn cài đặt để biết thêm chi tiết ):

AcceptPathInfo on

Chú ý rằng, điều này chỉ làm việc đối với Apache phiên bản 2.x.

Nếu bạn không sử dụng Apache 2 và bạn vẫn gặp trục trặc (hiếm khi) thì bạn có thể quay trở lại Moodle để sử dụng một giải pháp khác. Điều bất lợi ở đây là nó thường không được quan tâm đối với người dùng của bạn và are a slight loss of performance for your users and you won't be able to use relative links within HTML resources.

Để sử dụng phương pháp khác này: đăng nhập như là Admin, đi tới trang "Cấu hình các thông số" và thay đổi thiết lập đối với "slasharguments". Bây giờ bạn sẽ có khả năng truy cập các file bạn đã tải lên.

 

PHP - có phải nó đã được cài đặt và phiên bản nào tôi dang dùng ?

Tạo một file mới trên web site của bạn gọi là info.php, chứa các văn bản sau , và gọi nó từ trình duyệt của bạn:

<?PHP phpinfo() ?>

Nếu không có điều gì xảy ra thì bạn không cần phải cài đặt PHP. Xem tài liệu cài đặt để biết thêm chi tiết về nơi để bạn download xuống máy tính của bạn.

 

Tại sao tất cả các trang của tôi lại trống ?

Check the dirroot variable in config.php. You must use complete, absolute pathnames, eg:

$CFG->dirroot = "d:\inetpub\sites\www.yoursite.com\web\moodle";

 

Redhat Linux platform please see: Redhat Linux

 

My pages show fatal errors such as : call to undefined function: get_string()

If you see errors like:

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

then it's likely you have left out a semi-colon or ending quote from a line in config.php (previous to line 94).

Another reason could be that you have opened config.php in a program like Word to edit it, and saved it as a HTML web page, instead of a proper text file.

 

Why do I keep getting error messages about "headers already sent"?

If you see errors like this:

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

You have blank lines or spaces after the final ?> in your config.php file. Sometimes text editors add these - for example Notepad on Windows - so you may have to try a different text editor to remove these spaces or blank lines completely.

 

I keep getting this error: Failed opening required '/web/moodle/lib/setup.php'

In your config.php, the setting that you use for the dirroot variable must be the complete path from the root of your server's hard drive.

Sometimes people only use the path from their home directory, or relative to the root of the web server directory.

 

Any text I add with an apostrophe (') or a quote (") causes errors or comes up with a slash added

Problems caused by apostrophes are caused by incorrect "magic quotes" settings. Moodle requires the following settings (which are usually the default):

magic_quotes_gpc = On
magic_quotes_runtime = Off

See the section on webserver configuration in the Installation docs for more details.

 

I keep getting error messages about session_start

If you see errors like this:

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

... these are all related to the fact that PHP is failing to save "session" files on your hard disk (in a directory called /tmp). Usually the reason is that you don't HAVE a directory called /tmp on your computer. This is usually the case with Windows installations.

The solution is to fix the PHP setting for this path to point to a real directory. You can do this in your php.ini file:

session.save_path = C:\temp

or otherwise in a .htaccess file in your main moodle directory:

php_value session.save_path "/home/moodle/sessions"

 

When I go to the admin page, I get told to make dirroot blank!

If you see errors like this in Moodle 1.0.9:

Please fix your settings in config.php:

You have:

$CFG->dirroot = "/home/users/fred/public_html/moodle";

but it should be:

$CFG->dirroot = "";

then you have encountered a small bug that occurs on some servers. The problem is with the error-checking mechanism, not with your actual path. To fix it, find this line (line 66) in the file admin/index.php:

if ($dirroot != $CFG->dirroot) {

and change it to this:

if (!empty($dirroot) and $dirroot != $CFG->dirroot) {

 

I login but don't appear to be. I am logged in and can navigate freely.

Make sure the URL in your $CFG->wwwroot setting is exactly the same as the one you are actually using to access the site.

 

When trying to add a resource I receive error messages.

Assuming you are using Apache, then it's quite likely that your setting in config.php for $CFG->wwwroot is different from the actual URL you are using to access the site. Also try turning off "secureforms" in the admin settings.

 

During the initial setting-up process, I never get asked to create an admin account!

This is a known bug in versions of Moodle up to 1.0.9, now fixed in the main code and version 1.1.

It doesn't affect all people, it only occurs when the person installing Moodle has a cookie in their browser from another program on the same site, called "user", "admin", or "teacher".

Quick fixes include deleting those cookies from your browser before installing, using a different browser, or editing the file moodle/admin/user.php to insert these lines near the top:

unset($user);
unset($admin);
unset($teacher);

After performing any of these fixes it might be a good idea to drop all the tables in your database and re-install again from scratch.

 

I can't log in - I just stay stuck on the login screen.

The most common cause for this is that your own computer (not your Moodle server) has a firewall that is stripping referrer information from the browser. Here are some instructions for fixing Norton firewall products.

The server admin can also fix this for everyone by editing the Moodle configuration page and changing the variable "secureforms" to "No".

Another possible cause of this problem is that sessions are not configured properly on the server. You can test this by calling the script http://yourserver/moodle/lib/session-test.php.

 

How do I backup my whole Moodle site?

There are two main things you need to make a copy of: the database and the uploaded files. The Moodle scripts themselves are less important, since you can always download a fresh copy if you have to.

There are many ways to do such backups. Here is an outline of a little script you can run on Unix to backup the database (it works well to have such a script run daily via a cron task

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

For the files, you can use rsync regularly to copy only the changed files to another host:

rsync -auvtz --delete -e ssh mysshusername@example.com:/my/server/directory /my/backup/directory/

 

Why doesn't my Moodle site display the time & date correctly?

Each language requires a specific language code (called a locale code) to allow dates to be displayed correctly. The language packs contain default standard codes, but sometimes these don't work on Windows servers.

You can find the correct locale codes for Windows on these two pages: Language codes and Country/region codes.(eg "esp_esp" for spanish)

These new locale codes can be entered on the Admin -> Configure -> Variables page, where they override the ones in the currently chosen language pack.

 

Email copies are not being sent from my forums

You must set up cron properly if you want Moodle to send out automatic email from forums, assignments etc. This same process also performs a number of clean-up tasks such as deleting old unconfirmed users, unenrolling old students and so on.

Basically, you need to set up a process to regularly call the script http://yoursite/admin/cron.php. Please see the section on cron in the Installation documentation.

Tip: Try the default setting in Moodle variables page. Leave the smtphost blank. This will be acceptable for the majority of users.

 

 


Suggest a new FAQ (include the answer!)


Thanks to John Eyre for helping to maintain this FAQ.

Moodle Documentation

Version: $Id: faq.html,v 1.6 2003/03/30 13:54:28 moodler Exp $