This page contains answers to some of the most frequently asked questions by people installing Moodle. If you have followed the installation instructions but you still have a problem, then this page is probably the best place to be.
If you don't find your answer here try the Using Moodle course on moodle.org. Start by searching the forums using a few keywords (one at a time), in case your problem has already been discussed. If you don't find anything, then try posting your question into the appropriate forum - somebody will usually be be able to help you.
Use this list to jump to the appropriate answer below:
Whenever I try to access or view a file that I uploaded, I get an error "File not Found"
PHP - is it installed and what version do I have?
My pages show fatal errors such as : call to undefined function: get_string()
Why do I keep getting error messages about "headers already sent"?
I keep getting this error: Failed opening required '/web/moodle/lib/setup.php'
Any text I add with an apostrophe (') or a quote (") causes errors or comes up with a slash added
I keep getting error messages about session_start
When I go to the admin page, I get told to make dirroot blank!
I login but the login link doesn't change. I am logged in and can navigate freely.
For example: Not Found: The requested URL /moodle/file.php/2/myfile.jpg was not found on this server.
Your web server needs to be configured to allow the part of the URL after a script name to be passed directly to the script. This is usually enabled in Apache 1, but is usually disabled by default in Apache 2. To turn it on, add this line to your httpd.conf, or to a .htaccess file in your local directory (see the Install documentation for more details):
AcceptPathInfo on
Note, this will ONLY work for Apache versions 2.x.
If you are not using Apache 2 and you still have this problem (unlikely) then you can switch Moodle to use an alternative method. The disadvantages are a slight loss of performance for your users and you won't be able to use relative links within HTML resources.
To use this alternative method: login as Admin, go into the "Configure Variables" page and change the setting for "slasharguments". You should now be able to access your uploaded files.
Make a new file on your web site called info.php, containing the following text, and call it from your browser:
<?PHP phpinfo() ?>
If nothing happens then you don't have PHP installed. See the installation docs for some information about where to download it for your computer.
Check the dirroot variable in config.php. You must use complete, absolute pathnames, eg:
$CFG->dirroot = "d:\inetpub\sites\www.yoursite.com\web\moodle";
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.
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.
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.
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.
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"
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) {
Make sure the URL in your $CFG->wwwroot setting is exactly the same as the one you are actually using to access the site.
Suggest a new FAQ (include the answer!)
Thanks to John Eyre for helping to maintain this FAQ.
Version: $Id: faq.html,v 1.6 2003/03/30 13:54:28 moodler Exp $