I had upgraded PHP from 7.2 to 7.3 on my server and suddenly Wallabag stopped working!

I got some weird error like –

PHP Fatal error: Allowed memory size of 134217728 bytes exhausted

I guessed it had something to do with the PHP upgrade. So, I decided to upgrade Wallabag as well.

That’s when the problems started!

Per Wallabag’s update page, all I had to do was run –

make update

That opened up another can of worms! This time I got an even more cryptic error –

scripts/update.sh: 10: scripts/update.sh: BASH_SOURCE: parameter not set Makefile:16: recipe for target 'update' failed make: *** [update] Error 2

After trying to fix that error, I came across a suggestion to run the the update script directly –

bash scripts/update.sh

This time the error was –

10: scripts/update.sh: BASH_SOURCE: parameter not set

Then I remembered that I was running my Wallabag instance on SQLite! The advantage of running SQLite was that I was having the database backed up constantly (using a file copy).

So, I tried a different route of just installing Wallabag again. I downloaded and extracted Wallabag and put it in a new directory.

After copying over app/config/parameters.yml and the database from data/db/wallabag.sqlite, I thought the problem would be solved.

But then I came across this part of updating the database as well by executing some SQL statements.

This was a simple as opening the database and pasting the SQL statements –

> sqlite data/db/wallabag.sqlite

And I thought I was done. But then, when I tried using the browser extension, I started getting an error right away.

This time I opened up the logs in /var/logs/nginx/wallabag_error.log and found an error like –

Uncaught Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException: You have requested a non-existent parameter "mailer_port". Did you mean this: "mailer_host"

This time, searching for the error gave me the hint that there were extra configurations in the new parameters.yml file that did not exist from the older parameters.yml that I had copied over.

Looking at the parameters.yml.dist, I figured out the missing parameters and added that.

That solved everything finally!

Oh, also along the way, I had to enable the php extension called tidy in my php.ini

extension=tidy

and restart php-fpm

/etc/init.d/php7.3-fpm restart

Now, the browser extension worked perfectly. Phew!