serverinfo
serverinfo copied to clipboard
PHP 8 error if function sys_getloadavg not available
When opening the system overview under Settings, an internal server error occurs This probably happens because the sys_getloadavg () function is not available and an unexpected return occurs.
It is best to include a test which ensures that the function is available. The line that triggers this is probably this one:
apps/serverinfo/lib/SystemStatistics.php:216
$loadavg = sys_getloadavg();
Steps to reproduce
- Activate PHP 8.x
- Deactivate sys_getloadavg in PHP.ini
- Open Settings in NextCloud
- Go to System
Actual behaviour
NextCloud generates a internal server error
Server configuration
Operating system: Debian
Web server: Apache 2.4
Database: MariaDB
PHP version: 8.0.12
Nextcloud version: (see Nextcloud admin page) 22.2.3
Updated from an older Nextcloud/ownCloud or fresh install: Fresh install
Where did you install Nextcloud from: Download from nextcloud.com
Logs
Nextcloud log (data/nextcloud.log)
Nextcloud log
{"reqId":"YZdeMrflUzQyF@XTEqJufwAAIQM","level":3,"time":"2021-11-19T08:20:03+00:00","remoteAddr":"xxx.xxx.xxx.xxx","user":"admin","app":"PHP","method":"GET","url":"/index.php/settings/admin/serverinfo","message":"foreach() argument must be of type array|object, bool given at /var/www/clients/clientXXX/webXXX/web/nextcloud/apps/serverinfo/lib/OperatingSystems/DefaultOs.php#152","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:94.0) Gecko/20100101 Firefox/94.0","version":"22.2.1.2","exception":{"Exception":"Error","Message":"foreach() argument must be of type array|object, bool given at /var/www/clients/clientXXX/webXXX/web/nextcloud/apps/serverinfo/lib/OperatingSystems/DefaultOs.php#152","Code":0,"Trace":[{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/serverinfo/lib/OperatingSystems/DefaultOs.php","line":152,"function":"onError","class":"OC\\Log\\ErrorHandler","type":"::"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/serverinfo/lib/Os.php","line":141,"function":"getNetworkInterfaces","class":"OCA\\ServerInfo\\OperatingSystems\\DefaultOs","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/serverinfo/lib/Settings/AdminSettings.php","line":114,"function":"getNetworkInterfaces","class":"OCA\\ServerInfo\\Os","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/settings/lib/Controller/CommonSettingsTrait.php","line":137,"function":"getForm","class":"OCA\\ServerInfo\\Settings\\AdminSettings","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/settings/lib/Controller/AdminSettingsController.php","line":82,"function":"formatSettings","class":"OCA\\Settings\\Controller\\AdminSettingsController","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/settings/lib/Controller/CommonSettingsTrait.php","line":148,"function":"getSettings","class":"OCA\\Settings\\Controller\\AdminSettingsController","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/settings/lib/Controller/AdminSettingsController.php","line":67,"function":"getIndexResponse","class":"OCA\\Settings\\Controller\\AdminSettingsController","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":217,"function":"index","class":"OCA\\Settings\\Controller\\AdminSettingsController","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":126,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/private/AppFramework/App.php","line":156,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/private/Route/Router.php","line":302,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/base.php","line":1006,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/index.php","line":36,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/private/Log/ErrorHandler.php","Line":92,"CustomMessage":"--"}}
{"reqId":"YZdeMrflUzQyF@XTEqJufwAAIQM","level":3,"time":"2021-11-19T08:20:06+00:00","remoteAddr":"xxx.xxx.xxx.xxx","user":"admin","app":"index","method":"GET","url":"/index.php/settings/admin/serverinfo","message":"Call to undefined function OCA\\ServerInfo\\sys_getloadavg()","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:94.0) Gecko/20100101 Firefox/94.0","version":"22.2.1.2","exception":{"Exception":"Exception","Message":"Call to undefined function OCA\\ServerInfo\\sys_getloadavg()","Code":0,"Trace":[{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/private/AppFramework/App.php","line":156,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/private/Route/Router.php","line":302,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/base.php","line":1006,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/index.php","line":36,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","Line":158,"Previous":{"Exception":"Error","Message":"Call to undefined function OCA\\ServerInfo\\sys_getloadavg()","Code":0,"Trace":[{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/serverinfo/lib/SystemStatistics.php","line":72,"function":"getProcessorUsage","class":"OCA\\ServerInfo\\SystemStatistics","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/serverinfo/lib/Settings/AdminSettings.php","line":121,"function":"getSystemStatistics","class":"OCA\\ServerInfo\\SystemStatistics","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/settings/lib/Controller/CommonSettingsTrait.php","line":137,"function":"getForm","class":"OCA\\ServerInfo\\Settings\\AdminSettings","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/settings/lib/Controller/AdminSettingsController.php","line":82,"function":"formatSettings","class":"OCA\\Settings\\Controller\\AdminSettingsController","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/settings/lib/Controller/CommonSettingsTrait.php","line":148,"function":"getSettings","class":"OCA\\Settings\\Controller\\AdminSettingsController","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/settings/lib/Controller/AdminSettingsController.php","line":67,"function":"getIndexResponse","class":"OCA\\Settings\\Controller\\AdminSettingsController","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":217,"function":"index","class":"OCA\\Settings\\Controller\\AdminSettingsController","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":126,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/private/AppFramework/App.php","line":156,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/private/Route/Router.php","line":302,"function":"main","class":"OC\\AppFramework\\App","type":"::"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/lib/base.php","line":1006,"function":"match","class":"OC\\Route\\Router","type":"->"},{"file":"/var/www/clients/clientXXX/webXXX/web/nextcloud/index.php","line":36,"function":"handleRequest","class":"OC","type":"::"}],"File":"/var/www/clients/clientXXX/webXXX/web/nextcloud/apps/serverinfo/lib/SystemStatistics.php","Line":216},"CustomMessage":"--"}}