PHP Error
-
Hello,
I am a bit of a novice user but have been using Pfsense for several years on a very basic setup. I recently changed hardware and after a few days I have been getting the error below every minute or so. Any advice?[11-Sep-2023 07:29:05 America/Phoenix] PHP Fatal error: Uncaught TypeError: Cannot access offset of type string on string in /usr/local/www/xmlrpc.php(147) : eval()'d code:14
Stack trace:
#0 /usr/local/www/xmlrpc.php(147): eval()
#1 /usr/local/share/pear/XML/RPC2/Server/CallHandler/Instance.php(141): pfsense_xmlrpc_server->exec_php('\nini_set('displ...')
#2 /usr/local/share/pear/XML/RPC2/Backend/Php/Server.php(135): XML_RPC2_Server_Callhandler_Instance->__call('pfsense.exec_ph...', Array)
#3 /usr/local/share/pear/XML/RPC2/Backend/Php/Server.php(99): XML_RPC2_Backend_Php_Server->getResponse()
#4 /usr/local/www/xmlrpc.php(987): XML_RPC2_Backend_Php_Server->handleCall()
#5 {main}
thrown in /usr/local/www/xmlrpc.php(147) : eval()'d code on line 14 -
You have something trying to run code on your firewall via XMLRPC and it's sending outdated/incorrect code.
The most common thing we've seen that happen from is an outdated Home Assistant integration. Updating the integration (or disabling it) should get rid of the error.
-
@jimp Thank-you so much. I do use a Home Assistant integration. I will look into it.
Again Thank You!
-
@jimp I have disabled and deleted the Home Assistant Pfsense integration but I still constantly get the error 24 hours later. I have been looking at your other posts related to this problem. Could you give me more details on:
"try installing the System Patches package and then create an entry for 053f60e56d09ba711af245c7f0ce6a06673ccc89 to apply the fix"
Thanks again for your help.
-
That patch wouldn't be related to what you are seeing.
It has to be something hitting the XMLRPC service and sending its own code.
You can look at Status > System Logs, on the System tab and GUI Service sub-tab for the GUI web server logs. Look through them and see what is accessing
xmlrpc.php
That should get you the IP address of whatever is sending the command triggering the errors. You can then match that up with other info (e.g. DHCP leases) to figure out where it's coming from.
-
It's defiantly Home Assistant. I assume deleting the integration didn't completely get rid of everything. I'll have to do some poking around and see if I can find out how to disable whatever is left.