Fix "deprecated since 8.5" errors in FreeScout
If FreeScout features stop working after you move to PHP 8.5, check the FreeScout log for messages ending in is deprecated since 8.5. Each one names the file that caused it. Update the module or FreeScout component that owns that file, clear the cache, and restart the queue worker.
PHP 8.5 is the default PHP version on Ubuntu 26.04, so these errors often appear straight after an operating system upgrade.
Symptoms
FreeScout itself usually still loads, but individual features fail:
- A module's Test connection button reports that it can't reach a server.
- Background jobs, such as syncing, fetching, or AI drafting, stop producing results.
- An integration that worked before the upgrade goes quiet.
- A settings page or action returns a server error.
The telling sign is that curl to the same address works from the server's command line, while the module says it can't connect.
The log messages
Open FreeScout's application log (Manage > Logs > App Logs, or storage/logs/laravel-<date>.log on the server). PHP 8.5 deprecations look like this:
Function curl_close() is deprecated since 8.5, as it has no effect since PHP 8.0
Function imagedestroy() is deprecated since 8.5, as it has no effect since PHP 8.0
chr(): Providing a value not in-between 0 and 255 is deprecated
Using null as an array offset is deprecated, use an empty string insteadThe module usually adds its own context around the message, such as the job or request that failed.
Why it happens
PHP 8.5 deprecates a few older functions and edge cases. Several, such as curl_close() and imagedestroy(), have done nothing since PHP 8.0, so older code still calls them.
On most PHP apps a deprecation is only a warning in the log. FreeScout treats every deprecation notice as an error. So a request can complete successfully and then fail on a leftover call like curl_close(). Your URLs, API keys, network, and PHP extensions are usually fine.
Fix: update the affected code
Find the file in the log entry
Open the full log entry. A path underModules/<Name>points to that module. A path underapp/orvendor/points to FreeScout itself.Update that module or FreeScout
Open Manage > Modules and install any available updates, or check the module developer's site for a PHP 8.5 compatible release. For FreeScout itself, update to the latest release.Clear the cache and restart the queue worker
Run these from your FreeScout directory. The queue worker is a long-running process, so it keeps the old code until it restarts.terminalphp artisan freescout:clear-cache php artisan queue:restartRetry what failed
Click Test connection again, rerun any sync that stopped, and confirm new background jobs complete.
Confirm it worked
- The feature that failed works again.
- New log entries no longer mention
is deprecated since 8.5.
If no update is available yet
Run FreeScout on PHP 8.4 until the developer releases a fix. PHP 8.4 doesn't treat these functions as deprecated, so the same code runs normally there.
Switch both PHP versions FreeScout uses. Manage > System shows the version your web server runs. The queue worker and cron use command-line PHP, so check php -v on the server too. Then restart PHP-FPM or your web server, and the queue worker.
For the full move, see Upgrading FreeScout to PHP 8.5.
ReplyRabbit and PHP 8.5