Upgrading to 3.0.12 for beginners

Want to upgrade from 2.10.2 to 3.0.12. I read the instructions

(•Backup your database
•Copy your config.php file in a safe place
•Download the latest version of phpList
•Overwrite all of the code of the current version with the new one. You can upload the “lists” directory and all it contains
•Copy your config.php back
•Login to the phpList admin pages and click the “upgrade” link
•Just to be sure, use the “Verify database structure” page to check that your database structure is correct)

But I already fail with the first Point. Where to find the files I Need to copy and save? Just in case it will not work with the upgrade - how to return to the old Version?

I downloaded the file, searched and found an unzip (peazip) programme, unzipped it, found 2027 files but no install and no exe file. Searched for, found and read the upgrade instructions and struggled completely. And help for dummies available?

(remark: in a similar event I lost already a complete data base, so I’m scared to crash and lose everything again)

Thanks in advance, Bernd

Upgrading from 2.10.x?

Okay, Back up your database using your cPanel/Plesk/server control Panel/phpMyAdmin etc.
Load your config.php file into a text editor.
Rename your version 2 phpList directory to lists2 (for example)
Download the latest version 3.x.x
Unzip it to your computer. (You should be able to do this easily with Windows XP/7 8 & 10 should also work). If you are unable to unzip the file, download WinZip, you should be able to get a 20-30 day free trial. Winrar has a 40 day trial and does work with ZIP and GZ files.

Once unzipped, upload from your computer to your server, the entire contents of the lists directory to your lists directory on your web space, or upload lists directory to your root directory. Whichever is easiest for you.

DO NOT OVERWRITE your version 2 directory! Version 3 is very different, you need to start afresh.

Now, look at the version 3 config/config.php file and amend the settings to match your current config.php file. Mainly put your database settings in (use your backed up database here), your mail settings, and your $pageroot setting (you do NOT need the admin url settings).

This should get you started with the updating of your phpList to version 3.

If everything goes badly wrong, then you still have the backup lists2 directory which uses your old version 2 database, which you can go back to by deleting the new lists directory and renaming lists2 back to lists.

Hope that helps

Dear Dragobnrider,

Many thanks for your help. Unfortunatlay I struggle in the first line already. You say back up your database using … phpMyAdmin. This is the only way I have to access php. So I logged in and can’t find any link for backing up. I have system (setup assistent, DB-check, event-log), configuration, lists and subscribers, administrators and news. Nothing which would allow me to back-up the database.

Then I tried to find config.php. Windows search found 56 files calles config.php or configuration.php. Which one is the right one - I’m totally lost.

The download is something I managed, and I already unzipped it.

I think this one is too difficult for me and I’ll ask my provider to do this for me., They’ll charge me, but I’m probably too stupid.

However, many thanks that you tried to help a dummy.

Kind regards,

Hi Bernd,

Dragonrider can probably do this for you for a small fee, and you’ll know you are getting it done right.
If he is unavailable, let me know if you still need help. I also provide paid help to those that might require it.


Yes, you should either pay someone like @danwaterloo or use phpList.com instead. Also (and this is no criticism, tech is hard) if you are running phpList with this level of skill, your deliverability is likely to be poor - there are many reasons for you to hire professional help or pay for a professional service :slight_smile: I do this exact same thing myself!

@BerndFRT Alternatively you can install the latest version on a different directory without interfering your existing phplist . And, if you still want to use all the information from your old phplist to your latest version 3.0.12 you can extract all the info by replacing the database details on your new config.php with the old database details shown below screenshot.

<img src=


I don’t see why we can’t install multiple phplist on our hosting. Mine, I have at least 3x with different versions. You know when you get use to the old one it takes some time to get use with the new one.

Funny, I thought that was what I said in my original reply?

@maxwellstephen if @BerndFRT uses the version 2 database, as you suggest and then wants or needs to return to version version 2 phpList, this will not now work as Version 3 alters the old database. Just thought.

@Dragonrider Apologies. Overlooked your reply, my bad :blush: you did say that.

@maxwellstephen if @BerndFRT uses the version 2 database, as you suggest and then wants or needs to return to version version 2 phpList, this will not now work as Version 3 alters the old database. Just thought.

@Dragonrider well again you are right for the versions. I have done this quite times before version 3 was released.

Many, many thanks for all your comments, the screenshot is really helptful. I’ll work on the issue over the weekend.
Kind regards,

I would choose a slightly different way, may look more complicated but I would do it this way if with a system which should 100% not fail (and need a rollback while being live) or which requires careful testing after the upgrade while not being exposed to live traffic (keeps the stress level low):

  1. Duplicate the phplist installation and make it work on a different URL. Note: Depending if you use a different path or a different domain/subdomain for testing, you have to make some changes in the database (if different domain/subdomain) and the config file for the testing installation.
  2. Perform a testing upgrade on the duplicated version of PHPlist. If you mess things up here, no one will see it :smiley:
  3. Test the upgraded version carefully. Test every function you normally use in PHPList and see if it works.
  4. If step 3 was successfully, you are ready to to the live-update. First you should make sure that no other admin works in the backend while you do this. (warning email, deactivate other admin accounts)
  5. Live update. You have two options: Update the live version like you did it with the duplicate version or take a live database snapshot, copy it into the duplicate version, copy the live config.php to the duplicate version (to override testing settings from URL/Domain) and route the live-PHPList-URL to the duplicated (upgraded and proper tested) PHPList-Version.

would this include sending etc? I guess that would mean the clone would need to become the new live version or they would lose data from that campaign?

Sure! Sending a campaign to a testing list, unsubscription, subscription, blacklisting, unblacklisting, test the admin panel …
So your updated clone gets flooded with unnecessary data. While that time, the live version database changed due to live changes.
So if you are sure everything works or that all of your personal optimizations to phplist are merged successfully to the clone (I have some), you just have to make sure that you get rid of the testing data and to be sure that the changes during the snapshot in the live version are not lost.

1 Like