Przez kilka dni walczyłem z "PHP Warning: Illegal string offset" w pliku libraries/cms/html/html.php
Po aktualizacji Joomla do wersji 3.7 (a czasem dopiero do wersji 3.7.3) niektóre rozszerzenia Joomla działają, ale pojawia się kilka linijek komunikatu typu:

PHP Warning: Illegal string offset 'pathOnly' in /var/www/html/xyz/libraries/cms/html/html.php on line 621
PHP Warning: Illegal string offset 'detectBrowser' in /var/www/html/xyz/libraries/cms/html/html.php on line 622
PHP Warning: Illegal string offset 'detectDebug' in /var/www/html/xyz/libraries/cms/html/html.php on line 623
PHP Warning: Illegal string offset 'relative' in /var/www/html/xyz/libraries/cms/html/html.php on line 626
PHP Warning: Illegal string offset 'detectBrowser' in /var/www/html/xyz/libraries/cms/html/html.php on line 626
PHP Warning: Illegal string offset 'detectDebug' in /var/www/html/xyz/libraries/cms/html/html.php on line 626
PHP Warning: Illegal string offset 'pathOnly' in /var/www/html/xyz/libraries/cms/html/html.php on line 629


Czasem też takie komunikaty mogą pojawiać się na zapleczu.

Rozwiązanie problemu jest proste. W pliku html.php należy przed pierwszą z wymienionych linijek (czyli w tym przypadku przed linią 621) wpisać kod:

Kod:
if (!is_array($options))
            
{
                
    $options = array();

}