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();
}