Error after upgrading PHP to 5.6 and Suite to 7.6.3

I just upgraded suite to 7.6.3 and upgraded PHP to 5.6

When running Cron, I get the following error:

[17-May-2016 18:12:50 America/Los_Angeles] PHP Notice: Undefined property: User::$team_set_id in D:\Bitnami\suitecrm\apps\suitecrm\htdocs\modules\Schedulers_AddJobsHere.php on line 96

Any ideas?

Cheers
David

Don’t know about php 5.6, but php7 brought me lots of problems.
Have you tried to downgrade php?

The lastest suite requires 5.6 so I can’t downgrade it.
Cheers
David

I’m using 7.6.2 with PHP 5.4.36 without any problems. I don’t think the compatibility matrix is right about PHP 5.6 being a requirement.

Hi,
team_set_id is for sugarcrm enterprise and above.
You can comment it or set to 1 for sample every where you find it.
You can too configure php log level for disable NOTICE.

It shouldn’t matter.
PHP 5.6 and PHP 7 are the only supported PHP versions out there right now, with 5.5 being less than a month away from absolute EoL.
5.6 goes EoL at the end of this year and drops support one year later.
All new development needs to be tested on PHP 7. There’s really no excuse not to, at this point.

http://php.net/supported-versions.php

Well, your information is very pertinent to SuiteCRM, since as of today, PHP7 breaks it on several areas. At least for me.
Thanks.

No, I understand that and have plenty of problems with it, on PHP 7, myself, but I’ve been able to work around each with fairly simple modifications to the code. It generally has to do with functions that were deprecated in even older versions of PHP or with extensions which have changed since those older versions. So yes, in short, PHP 7 breaks it. I can see how my fairly terse comment above could be interpreted other ways though.

The point was that it’s irresponsible for new development on SuiteCRM to not be tested on PHP 7 or at least to not be written in a way that is forward-compatible.
The migration guide is available for PHP 7 and there’s nothing 7 can’t do that 5.6 can, so new development breaking existing functionality just because of a new PHP version should be considered a regression.

We started using PHP 7 with SuiteCRM 7.5.3.
There were plenty of problems, but, again, nothing important that we couldn’t fix with some relatively minor tweaks.
However, since we’ve moved to PHP 7, additional parts of SuiteCRM have been broken by new development, which means someone is not doing their due diligence.

The same can be said of the state of the database in SuiteCRM.
The code still treats it like we have to assume people are using MyISAM tables. MyISAM hasn’t been the default in MySQL since 5.1, which was EoL 6 years ago, and, even then, 5.1 still supported InnoDB, which takes care of the problems the code addresses.
SuiteCRM’s own platform compatibility matrix, which we ostensibly should be able to depend on, even lists MySQL 5.5 as the lowest supported version, for 7.5 and up, meaning we’re all, in theory, on InnoDB, at this point, so why is this still the case?
That same document also claims compatibility with PHP 7, which, as we’ve found out, also isn’t really the case.

TL;DR:
I feel your pain.
The compatibility matrix is wrong or out of date.
SuiteCRM should be targeting forward-compatible development, but clearly isn’t.

Also, here’s the compatibility matrix, which obviously needs an edit, for now: https://suitecrm.com/wiki/index.php/Compatibility_Matrix

2 Likes

Hi dodexahedron,
Although I agree with you regarding the path development should go for SuiteCRM and extensions, sometimes it’s nos possible for people like me to workaround some problems related to PHP, specially when we’re in the middle of a customer deployment.
Unfortunately I’m not as experienced in PHP programming and debugging to be able to fix every bit of PHP7 incompatible code I find.
Let me give you an example: with SuiteCRM 7.5x / 7.6.x and PHP7, I could not successfully install an extension that creates Logic Hooks through manifest.php rules. The module loader reports successfull installation, but some entries do not get created under the logic_hooks.php files, thus requiring manually editing the files to correct the installation.
Other functionalities don’t behave well, too. Some Logic Hooks doesn’t get triggered, many warnings being generated in httpd logs, and so on.
I believe SuiteCRM is not ready for PHP7, and as such, documentation should not endorse or recommend it for now.
Otherwise people may find the product itself is buggy, while in fact it’s not, it just needs to be ported to newer PHP7 engine.
My 2 cents, thank you!