Json.class.php error after upgrading FPBX15 to v16

Everything seems to be working ok on my non-distro upgrade from FPBX v15 to 16 except this.

 fwconsole chown

Setting Permissions...

In json.class.php line 234:

  Array and string offset access syntax with curly braces is deprecated

The past advice given on this forum when people got that error, before FPBX16, was that it was a PHP v7 error and they should be running v5 instead.
Now on v16 that no longer applies.

The only difference I can see is that my remi PHP version has a slightly higher minor version than the distro version.

My php -v

# php -v
PHP 7.4.27 (cli) (built: Dec 14 2021 17:17:06) ( NTS )

Distro php -v

# php -v
PHP 7.4.16 (cli) (built: Mar  2 2021 10:35:17) ( NTS )

I checked my php.ini and confirmed I have E_DEPRECATED warnings disabled

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

I also tried fwconsole ma downloadinstall framework again and confirmed all the other modules are v16.x

I would suggest just submitting this as a bug to issues.freepbx.org. It’s a trivial fix.

Turns out that file is not part of core or framework like I assumed. It’s part of endpointman module which I didn’t have installed according to module admin UI. Turns out there was an old version (v14) installed which showed up when I did fwconsole ma list but wouldn’t let me remove it gracefully. I just deleted that module directory and manually removed the endpointman_* tables. Now I don’t get that error anymore.

Trying to install Endpoint Manager v16 overtop didn’t work because it gave me errors because of the existing tables.

JSON.class.php was originally put into Endpointman because before PHP 8 you could never assume a version of PHP had support for JSON (which is absurd) and at that time FreePBX didn’t really have any hard requirements for PHP extensions like it does now

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.