Hi guys,
took over an EE site and I’m trying to step-wise upgrade it from EE 2.x to latest 5.x. I’ve read up as much as I could on how this should be done, but I have to say (at least for me) most of the EE docs are very vague, or incomplete - hoping to find some help here 😊
Site was upgraded to latest v2 (2.11.9) and is running in a Docker environment. 2.11.9 is working just fine using PHP 5.6.40, MySQL 5.5.62, Nginx 1.9.15 (plan on doing the PHP 7 upgrade once on EE 5.x). For 2.11.9 with PHP 5.6.40 I had to use the mysqli extension to get it to connect to the db.
In order to prepare the upgrade to 3.x I’ve then removed all add-ons that are not needed any longer or are EOL. For all other needed add-ons we purchased 5.x licenses.
Then tried the upgrade process to 3.5.17 described here, it ends up in WSOD after starting step 1… I then also ran the ee_server_wizard, which fails with a PHP error (see below)…
Questions:
(1) Ee_server_wizard & Server Requirements
(a) What are the server requirements for each of the main EE versions ? As stated above, unfortunately the docs are not stating all of the requirements or barely anything… at least a complete list of all required PHP extensions is needed…
Running the ee_server_wizard on my working server for 2.11.9, it keeps crashing with PHP errors, but not with direct messages from the wizard (which I thought is the whole point of a wizard… ?)
First PHP error was a missing PDO db driver - although as stated above EE 2.11.9 only runs on the installed mysqli driver - but for the wizard I had to install the pdo_mysql extension. the driver error is now gone. This driver is not mentioned in the v3 docs as a requirement… so did EE change the db driver requirement in v3 from mysqli to mysql… ?
(b) Since I can only find one version of the ee_server_wizard online, is that the only wizard for all EE v2/v3/v4/v5 versions ?
if so, then how is it failing my server set up when my site runs just fine in EE 2.11.9 using the same server ?
if not, could you please provide a download link for the server wizard for v3 ?
(c) After installing the pdo_mysql driver, the wizard now crashes with the following PHP error message:
“Fatal error: Uncaught exception ‘PDOException’ with message ‘SQLSTATE[HY000] [2002] No such file or directory’ in /usr/share/nginx/html/public_html/ee_wizard/index.php on line 254”
what causes this ?
btw, I can connect to the EE database just fine using Navicat, but I’m using a custom port for mysql which I cannot specify in the wizard’s db connection settings… may that be the reason… ?
ee_server_wizard db settings:
server address: localhost | also tried: localhost:<my_custom_port>
name: <db_name>
username: <db_user>
password: <db_pw>
(2) Add-ons upgrade workflow
What is the workflow for upgrading add-ons when moving from 2.x to 5.x (for third party add-ons that support 5.x) ? Do I need to uninstall all of these on 2.11.9 before upgrading to 3.x and then just drop the new versions into the new add-ons folder in 3.5.17, or should I try to install the higher versions on 2.11.9 before upgrading to v3 ?
very confused about this (it is not explained at all in the docs), seems some add-ons have a specific 3.x/4.x/5.x version… so, do we need to buy and install each of these while we step-wise upgrade, or can we just upgrade to 5.x and then install the latest version of these add-ons… ?
This site will need to upgrade 10+ add-ons to v5…
(3) Master config files
so this 2.x site used a master config file approach. the EE upgrade docs to v3 only mention to copy the config.php and database.php over. But in the case of this site, additional db config parameters were added in the master config file, so copying over just those two files will not work…
Am I correct in assuming that from v3 on, the master config file approach is deprecated or not recommended any longer ?
If so, what is the full set of db parameters (and syntax) that need to be in database.php in order to make a db connection in v3 ? (I was not able to find that info at all in the v3 docs)
Does config.php need to include database.php and then assign the db params array to $config[‘database’] ?
Thanks a lot for your help and I hope you can shed some light on this 😊
MJ
I’ll be doing this soon also! :| So thank you for the info you’ve shared!
might be a bit late, but for (2), unfortunatly not all addons have the same upgrade proceedure, but most should describe in their own docs/websites how to upgrade those individually between versions.
for (3) for later versions of expressionengine the databse info just goes into config.php
, this is just used to connect to the DB, unless there are some additional configs used not too much work should be needed here.
hopefully this was helpful, but good luck, would love to know how you get on with this.
Mark Jones - Is there anyway of getting the docker-compose file you was using for the 2.11.9 site? I am currently doing exactly the same thing but just can not get the site to work locally with docker. Just need to get 2.11.9 working so I can see the website etc etc. I did have a docker instance running with php 5.3 but the for the life of me can’t get it working using php 5.6.4, any help greatly appreciated!!! I’m a docker noob.
Packet Tide owns and develops ExpressionEngine. © Packet Tide, All Rights Reserved.