Moving phpList to an Upgraded Website

I installed phpList on our website ( about 10 years ago, in a folder named “phplist” (i.e., not in the default “lists” folder).

Someone is currently designing a new website for our organization, and I would like to carry our present phpList installation over to the new site. (The under-construction site is presently in a subdomain:

We are still using version 2.10.4 of phpList. My thought is to download the current version of the program – as though it were a new installation – and install it on the work-in-progress site in the standard installation folder (which, presumably, is still “lists”). I’d then like to export the database from our current phpList installation into the new installation, thereby retaining all of the information for our e-mail subscribers.

Here’s my question: Since the new site (which is still under construction) is in a subdomain, and since the new installation of phpList will be in a folder named “lists” (that is, a different name than the “phplist” folder that holds the current installation), will our current installation of phpList continue to work, unaffected by the new installation? Of course, once we abandon the old site and move to the new one, we’ll abandon the old installation of phpList, but I’d like to ensure that we can still use our current installation of the program in the meantime.

So long as the current phplist and the new one are accessed through different URLs then the current one will continue to work.

It is not clear whether the new site is on the same server as the current phplist. If it is then it will be simpler to make a copy of the database and set the new phplist to use that, rather than export/import (which would only include the subscribers but not messages, etc).

I was unaware that an import/export of the database would preserve only the subscribers. THANK YOU for this heads-up - it’s important to us to preserve all of the data.

Yes, the existing site and the work-in-progress site are on the same server. The latter is currently in a subdomain of our URL, but will eventually be moved and will replace the present site.

Where can I find instructions for: (1) making a copy of the existing database, and (2) configuring a new installation of phpList to use it?

That’s if you export from within phplist. Obviously if you use phpmyadmin or a similar tool to export the database then you have the whole database.

Sorry but it is not clear to me what exactly you want to do. Is this correct?

  1. phplist is installed at
  2. you want to install a new instance at
  3. but later move that to

I don’t quite see the point of the intermediate installation. Why cannot you continue to use the current phplist until the new site is ready, and then ensure that it is not deleted when the wordpress site is moved?

But there can be problems if you move change where phplist is installed. If you use user tracking or click tracking then the links for those will become incorrect so will not work. Also, there might be a similar problem with the links to images if you have been using a specific image folder.

Your system admin is probably the person to explain how to backup the complete database.


First, thank you again. Your continued assistance (and your knowledge of phpList) is helping to redirect our focus.

As you point out, the “second step” may be unnecessary, as the current installation of phpList would continue to work. In fact, I now prefer to go that route. I just have to address my two prior concerns, which are:

  1. The current installation is VERY highly customized. The design of the pages has been customized to match the (present) design of the website, and nearly every message within the program has been modified. I’d like to keep the modified messages, but I want to “undo” the customized design of the pages because they won’t match the newly-designed website. (It’s been so long since I customized the program to match the design of the website that I don’t recall how I accomplished it. Perhaps it’s a simple step to undo the process.)

  2. The current installation of phpList is version 2.10.4. I’d like to update the program to the current version, but I’m concerned about losing some of the customization. Perhaps this concern is unwarranted. I’m willing to use the standard design of the phpList pages, but I’d like to keep the customized messages.

So: Please give me your thoughts. It seems to me that we should simply stay with the present installation and do a routine update to take us to the current version. Do you see any potential issues, given the above facts?

– Lee

You mean the captions on each page and the confirmation and error messages displayed by phplist? I’m not 100% certain but doubt that you will be able to carry those forward. You would need to make the changes again or just use the standard texts.

To see the current design of phplist and consider whether you can use the default text and messsages try signing-in to the demo site using admin / phplist


Our present subscribe page is here:

Please take a look at it. You’ll see that it matches the design of our present website. That’s the customized design that I referred to.

The messages that site visitors receive when they subscribe (or change their preferences, or unsubscribe) are also customized.

Once we move to the new site we will no longer want the old customized design. It would be nice to keep the customized messages, but I’m willing to lose them.

I suppose that we should simply do a routine update of the current installation (to go from our current version - 2.10.4 - to the latest version). We can then link to the updated phpList installation from the new website.

I’d like to first make a complete backup of our present installation. Everything is currently in a folder named “phplist.” If I backup that folder, and the attempted update goes awry, will simply copying the backed-up folder to the server return us to where we are now?

– Lee

So you are referring to changes to the “public” pages only, not to the admin pages? In that case your design changes won’t be lost but will need some more work because of changes to the phplist html.

I don’t know about the “message” changes though.

Updating phplist has two main steps

  • replace the phplist code
  • login to phplist then upgrade the database structure

It is the second step that is not reversible, so you need to make a database backup before upgrading in case you do want to back-out the upgrade.

I recommend a clean install of the phplist code rather than overwriting your current code.

  • rename “phplist” folder to say “phplist_2.10.4”
  • copy the “lists” folder from the phplist distribution, then rename
    that to “phplist”
  • copy your config file from the old folder to the new folder

You can then login to phplist to upgrade the database structure.
Your customisations will still be in the old folder, so you can try them one by one to see whether they still work.


(1) You recommend a “database backup” before the upgrade. It has been my intention to backup the entire phpList folder before doing anything. My assumption has been that if anything goes awry, I can restore the original setup by simply copying the phpList folder back to the server. Is this correct?

(2) Your suggestion to rename the existing phpList folder in connection with a clean install is excellent. I have two questions:

(a) If anything goes awry, I assume that I will be able to restore the original setup by simply deleting the newly-installed folder and renaming “phplist_2.10.4” back to “phplist”. Is this correct?

(b) In the procedure you describe, when I login to the new installation, will I be prompted to upgrade the database structure? If not, how do I accomplish that task?

– Lee

  1. No, as I explained previously you need to do a database backup.

2 a) No, that will revert the phplist code, which is separate to the database. You would also have to restore the database backup.

2 b) Yes.

If you are unfamiliar with any of this then you might want to use paid-for support to upgrade phplist.
Or, if you are happy with the way that phplist is currently running then stay with your current version.