PDA

Zobacz pełną wersję : Błędy w pliku html.php



wezykowski
15-07-2017, 00:03
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:


if (!is_array($options))

{

$options = array();

}

wojsmol
15-07-2017, 08:51
Było na facebooku, jak i na githubie Joomla! Winne są rozszerzenia korzystające ze złej sygnatury jednej z funkcji API. Zaraz poszukam i podlinkuję.

Edit
Łatka po stronie rdzenia jest taka jak piszesz tylko, ze wyleci, po każdej aktualizacji. Należałoby dojść, które rozszerzenia powodują błąd i zgłosić do autorów.