Reminder: this page is to propose solutions to common problems. If you want to report a problem, please look in the forums first, or use the bug tracker. Do not report a problem here: your question will remain unanswered!
- Error: please make sure that index.php is your default document for a directory. If you have just installedphpListand get this message, make sure that the DirectoryIndex setting of your Apache configuration has somewhere index.php index.html, and check that index.php is mentioned before index.html. For other webservers please consult your manual to find how to make index.php the default document for a directory. Alternatively you can delete the file "index.html" in the lists directory of phpList.
- Error: IMAP is not included in your PHP installation, cannot continue. There is a major confusion that has been caused by the PHP developers naming a PHP module the IMAP module, even though it is used for more than just IMAP. phpList needs the IMAP functions in PHP in order to connect to the mailbox that will hold the bounces. The mailbox itself is a POP3 mailbox, or you can configure it to be a local mailbox files, but whatever the situation, the IMAP functions are necessary. IMAP functions in PHP have nothing to do with the actual IMAP protocol (at least not as far asphpListis concerned). You should be able to solve this issue by installing (and compiling) the IMAP module into PHP. If you are on a shared hosting account, you should contact your hosting provider.
- Fatal Error: Cannot connect to database, access denied. Please contact the administrator This error indicates there is something wrong with your database connection details. A Database connection requires four things, and they are very sensitive to errors (just one little typo and it won't work): 1) a database host (the name of the server, in many cases "localhost" works, but not always), 2) a database "user" the name of the user who can connect to this host, 3) a database "password" the password to use for the connection, 4) a database "name" the name of the database to use. If any of these four are incorrect, you get the error. So, it's best to double check your settings, and otherwise ask your ISP why it doesn't work. It's possible, although a bit unlikely, that they made a mistake with their permission settings, but you never know.
- HTTP Error 500: Internal Server Error - The server encountered an internal error or misconfiguration and was unable to complete your request. This error message may have different causes. If you get a "500 Server Error" when installing, your server is probably running PHP as a cgi, not as an Apache module (also known as phpsuexec). Solution: In /lists/.htaccess, find php_flag magic_quotes_gpc on and delete or comment out (with a #) this line. (However phpList may display "Warning: Things will work better when PHP magic_quotes_gpc = on" which is addressed below)
- HTTP Error 404: File (or directory) not found. The document you requested is not found. If this error message appears when trying to send a message, it is is probably caused by an incorrect value for "website" in the "configuration page" of the admin backend. If that value is correct, you should also check the config.php file for the paths in $pageroot and $adminpages. If this error occurs with any page you try to load, and if your server is running PHP as a cgi (PHPsuExec), it is possible you are erroneously getting a 404 error instead of a 500 error. Try applying the fix described for a HTTP 500 error.
- Warning: The pageroot in your config does not match the current location. Check your config file. This warning indicates a misconfiguration of the following settings in config.php: $pageroot and $adminpages. This can be fixed by entering the correct path names.
- Warning: In safe mode, not everything will work as expected. It is highly recommended to run phpList with "safe mode off". Much has been done to make phpList work in Safe mode, but once you get to systems with more than 500 users, it is likely to cause problems. Also, in safe mode, the automatic bounce processing of phpList will NOT WORK. If you are on a shared hosting account, you could contact your ISP to fix this issue.
- Warning: open_basedir restrictions are in effect, which may be the cause of the next warning. open_basedir is a security related PHP setting, which will limit the opening of files to directories placed within a specified directory-tree. This warning is often displayed in conjunction with another warning, such as "The attachment repository does not exist or is not writable". In effect, the open_basedir restrictions and related warnings imply that you won't be able to upload files to phpList, like attachments, images, and imports. You can fix this by changing the attachment repository and/or temp directory in config.php to a writable location, like your webroot. You will need to create the new directory on your webserver and grant it read/write permissions.
- Warning: The attachment repository does not exist or is not writable. The "attachment repository" is a directoryphpListneeds for storing the attachments sent with list messages. This problem can be solved by checking in config.php whether an attachment repository has been defined (look for the $attachment_repository setting) and if so, whether this directory actually exists on your server and has read/write permissions. If you get this warning in conjunction with the warning regarding open_basedir restrictions, you will also need to change the directory to a writeable location, like your webroot.
- Warning: The temporary directory for uploading ( ) is not writable, so import will fail. The "temporary directory" is where phpList stores temporary files, for instance when upgradingphpListor importing users. You can fix this by checking in config.php whether a temporary directory has been defined (look for the $tmpdir setting) and if so, whether this directory actually exists on your server and has read/write permissions. If you get this warning in conjunction with the warning regarding open_basedir restrictions, you will also need to change the directory to a writeable location, like your webroot.
- Warning: Things will work better when PHP magic_quotes_gpc = on. The PHP setting magic_quotes_gpc needs to be enabled for the smooth functioning of phpList. There are several possible ways to fix this. First you could check in the /lists/.htaccess file that it includes the line php_flag magic_quotes_gpc on. If not, try adding this line to see whether it fixes the problem. Alternatively, if your server runs PHP as CGI (PHPsuExec), you can try to enable magic_quotes_gpc by creating the file '/lists/php.ini' and adding this directive: magic_quotes_gpc = 1. If you're on shared hosting account, you can also contact your ISP to fix this.
- Warning: Things will work better when PHP magic_quotes_runtime = off. The PHP setting magic_quotes__runtime should preferably be disabled. If you're on shared hosting account, you can contact your ISP to fix this.
- Warning: You are trying to use RSS, but XML is not included in your PHP. phpList can send RSS feeds to users. To use this feature you need XML support in your PHP installation. If you're on shared hosting account, you could contact your ISP to fix this.
- Warning: You are trying to send a remote URL, but PEAR::HTTP/Request is not available, so this will fail. To fetch a webpage and send it to a list of users, phpList needs the PEAR::HTTP/Request module to be installed on your server. If you are on a shared hosting account, you can ask your ISP to install PEAR::HTTP/Request module.
- Sorry not implemented yet. This usually indicates that a file is missing in yourphpListinstallation. Check that all files are correctly installed. And if you typed the url manually check that it's well spelled.
- no input file specified. This is a php error message you get when running PHP as a CGI binary on Apache and indicates you requested a non-existent PHP file. This usually indicates that a file is missing in yourphpListinstallation. Check that all files are correctly installed.
- Error: Your database is out of date, please make sure to upgrade. Phplist will display this error message if you forgot to initialise the database tables after installing or upgradingphpList. If this occurs after a new installation, you can fix this by using the 'initialise database' option in the setup section of the admin module. After an upgrade, make sure you click on the upgrade link that is displayed in the 'System Functions' block.
- Database error 1062 while doing query Duplicate entry '0-51' for key 1. If you get this error message during upgrading, you do not need to worry. The upgrade process involves writing data to the database which will generate these responses. The important thing is that the database upgrade procedure ends with "Information: Success" at the end of the page.
- Database error 1071 while doing query Specified key was too long; max key length is 1000 bytes This error is related to using a database with UTF-8 encoding and is a known limitation of MySQL. For more info and fixes, please consult the issue tracker.
- Blank page. This usually indicates a parse error. Please review the changes you made while editing files like config.php or english.inc. You can check config.php for parse errors by changing the error level setting inf config.php to $error_level = error_reporting(E_PARSE); See also the PHP manual. Alternatively, if you have command line access, you could use the following command to check for parse errors in a specific php file: php /path/toyour/file/lists/admin/file.php
- Mailer Error: SMTP Error: Could not connect to SMTP host - This is a phpmailer error that might occur if you incorrectly configured the SMTP mail server settings in config.php. Please review your mail server settings in config.php. See also these forum posts: 28861#28861, 39000#39000, 36977.
- Mailer Error: Language string failed to load - For more info see this report If you have enabled SMTP in config.php see this report. [just a few links for now]
- Mailer Error: Could not instantiate mail function - For more info see this report. If you have enabled SMTP in config.php see this report. [just a few links for now]