Cannot add, see details, or change contacts since migration to 8.7

Since the migration to 8.7 from 7.14.5, we cannot add any contacts. The Suitecrm log does not show anything special. We have verified the rights and they are fine. We deleted the cache as well.
The php log has the following errors:

[14-Oct-2024 16:12:54 UTC] PHP Deprecated: Return type of SuiteCRM\Search\SearchQuery::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/kconsu5/public_html/SuiteCRM8/public/legacy/lib/Search/SearchQuery.php on line 371
[14-Oct-2024 16:12:54 UTC] PHP Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/kconsu5/public_html/SuiteCRM8/public/legacy/lib/Search/SearchQuery.php on line 141
[14-Oct-2024 16:12:54 UTC] PHP Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/kconsu5/public_html/SuiteCRM8/public/legacy/lib/Search/SearchQuery.php on line 142
[14-Oct-2024 16:12:54 UTC] PHP Deprecated: Constant FILTER_SANITIZE_STRING is deprecated in /home/kconsu5/public_html/SuiteCRM8/public/legacy/lib/Search/SearchQuery.php on line 145
[14-Oct-2024 16:12:54 UTC] PHP Deprecated: Using unregistered function “key” in a template is deprecated and will be removed in a future release. Use Smarty::registerPlugin to explicitly register a custom modifier. in /home/kconsu5/public_html/SuiteCRM8/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php on line 113
[14-Oct-2024 16:12:54 UTC] PHP Deprecated: Function strftime() is deprecated in /home/kconsu5/public_html/SuiteCRM8/public/legacy/include/SugarLogger/SugarLogger.php on line 239
[14-Oct-2024 16:12:54 UTC] PHP Deprecated: Function strftime() is deprecated in /home/kconsu5/public_html/SuiteCRM8/public/legacy/include/SugarLogger/SugarLogger.php on line 239
[14-Oct-2024 16:13:01 UTC] PHP Deprecated: usort(): Returning bool from comparison function is deprecated, return an integer less than, equal to, or greater than zero in /home/kconsu5/public_html/SuiteCRM8/public/legacy/modules/SugarFeed/Dashlets/SugarFeedDashlet/SugarFeedDashlet.php on line 423
[14-Oct-2024 16:13:17 UTC] PHP Deprecated: usort(): Returning bool from comparison function is deprecated, return an integer less than, equal to, or greater than zero in /home/kconsu5/public_html/SuiteCRM8/public/legacy/modules/SugarFeed/Dashlets/SugarFeedDashlet/SugarFeedDashlet.php on line 423
[14-Oct-2024 16:13:21 UTC] PHP Deprecated: usort(): Returning bool from comparison function is deprecated, return an integer less than, equal to, or greater than zero in /home/kconsu5/public_html/SuiteCRM8QA/public/legacy/modules/SugarFeed/Dashlets/SugarFeedDashlet/SugarFeedDashlet.php on line 423
What else could we verify? Has anybody else had this issue?

Is it similar to this issue?

PHP is 8.2
MariaDB is 10.6.19
Apache 2.4

Anyways these errors look deprecated. Maybe you need to update your php.ini file

error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT

Then restart PHP.

Setting the log does not solve the issue

I just found this error in the other suitecrm log at the root of SuiteCRM8 (not in the legacy folder)
Bean file does not exist in path: modules/Users/User.php
any clue would be welcome

There should be no log called suitecrm.log at the root level, it should be in public/legacy only.

If your web server is still confused about the web_root and perhaps it needs the mod_rewrite configuration to be checked.

I know you’re doing an upgrade/migration, but still, check the Documentation on the new installations page, it has some detail about the issues I mentioned above.

Checkout this page:

Yes I followed all the instruction there when doing the migration

Okay! Do you have problem in the contacts module only or in all modules?

Only that one No other module is affected

If you have custom code for contacts, please check that.

No there is no custom code for that module

That’s weird! Set time zone in php.ini.


You need something like this: (Replace Europe/London with your location)

date.timezone = "Europe/London"

# List of Supported Timezones


Go to profile settings and reset preferences


Try on different browser


Is it admin profile. Try with another user profile.

I have this date.timezone = “UTC”
Why should this be relevant?

I checked that and it seems fine. in the document root I have an htaccess that has a RewriteRule pointing to the public directory. Then in the legacy the htacces has the set like “RewriteBase /legacy”. Finally the url configured in the conf has the URL without public and legacy.

So, is it working now?

No it is not working I am running out of ideas where to check