Adventures With PHP Incompatibilities

When we first started working with Wappler, we went through their tutorials which were heavily focused on NodeJS as the “Server Model”.

But, we wanted to try PHP since it’s a language we prefer. Yeah, we know Javascript is eating the world but there are certain efficiencies we can gain across projects if we can use PHP with Wappler.

Anyway, that turned out to be a mistake that burned hours of our time. So, if you stumbled upon this article, hopefully it will save you a whole bunch of time.

First, when you create a new project with PHP as the “server model”, it will NOT create deployment targets – this is different behavior than when using NodeJS. So, you have to open up the project screen again and manually create the deployment targets.

And that’s where, left to our own devices, we started to run into trouble.

First, we used the following combinations of software versions for the server stack:

  • PHP 7.4
  • MariaDB 10.5

That did NOT work at all. Wapplers’ “ServerConnect” components all failed to retrieve data with a 500 error. We didn’t dig into the docker container to see what error was thrown in the logs. Frankly, we didn’t care – we just wanted to figure out a way around the 500 error. After a bunch of tries we figured we might be too much on the bleeding edge. So we tried backing off versions:

  • PHP 7.3
  • MariaDB 10.4

Same result.

So we tried the combination we were sure was not going to work:

  • PHP 7.3
  • MariaDB 10.5

We still got popup errors for about 30 seconds before the docker containers stabilized but then the ServerConnect components began to work!

We might have some questions for the Wappler development team about this….

Ready To Build Something?

Check out our no-code calculator - it can help you understand your all-in costs for your project.  It takes into account factors that most others forget or just ignore!

Posted in ,