Proc_open() not available, consequences?

Hi! I have v4 running on shared hosting, via a softaculous install, and reading the requirements for upgrading to v5 I reached out and found out my server has all of the necessary functions except for proc_open().

  1. I have had no problems whatsoever (things have been running great), and I do my upgrades via softaculous and have upgraded my way through multiple v4 versions like this - is my database okay? Is there anything to worry about since proc_open() has not been available this entire time?

  2. Should I even consider upgrading to v5 on this server without proc_open()? Also, would I be able to upgrade from this v4 server directly to a v5 server of my own (thinking about using docker) or would I also need proc_open() for the migration?

Thanks!!

Hi,

  1. I believe proc_open is used to run commands (such as database changes) with the upgrades.

  2. @david any thoughts on this, is this a blocker for v5?

There are so many permutations of shared hosting it is impossible to know for sure without giving it a go and seeing if it works.

I believe proc_open would be definitely be needed for the self-update script if you are not using the Softaculous installer.

It may also be needed to run the db init.

I’ve been updating via softaculous, so no problems there. That being said I’m about to move over to my own Docker install with v5 for more control.

I suppose I may setup a v4 instance on regular Ubuntu server and migrate to that first, just to ensure no problems going over to v5 (take shared hosting out of the loop).

No worries for v5 since I’m going to go on my own from here with it - and I’ll work out my own “Docker style” updates since I know updating inside of the container itself is not recommended - but is there a way to check and make sure my current v4 database is up to date with the current IN version I’m running on shared hosting?

Basically, I know the database is supposed to update itself when you update IN - I have updated v4 several times via Softaculous - things are working but is there any way to make sure my database has “kept up” with the Softaculous updates and therefore is ready for a migration? Maybe some kind of line I could look at with phpmyadmin and confirm the database version matches the current software version?

Thanks!

The latest version of v4 database should have a column on the companies table called

is_migrated

Is this only after a migration to v5 has been performed?

I’m not seeing that column. I guess I was asking more about any database updates that needed to happen between say, version 4.5.2x and version 4.5.43 (latest).

I’ve done nothing but Softaculous upgrades between those versions, and didn’t know if the missing proc_open() function would have held up any needed database updates. In other words, I’ve heard @hillel mention that a file exists somewhere that compares the versions and a database update is performed if necessary once an upgrade takes place.

Basically I’m trying to make sure I have a clean and updated database that matches the latest v4 software version, and then will move that myself to another v4 server (with proc_open() available, will build it myself), and then I’ll do the migration to v5. That’s the plan, anyways.

You can compare the migrations table with the list of migrations here to ensure they’ve all been run:

Thanks for this! They are there! :smiley: So, apparently proc_open() isn’t needed for the database updates when upgrading v4 with Softaculous.

How would you recommend I prepare to update to v5, should I spin up a v4 Docker setup and move everything to it first, that way I’ll for sure have proc_open() before clicking the “Start Migration” button, or do you think that would be unnecessary and I should migrate straight from this shared hosting without proc_open() into my own v5 docker setup?