?
Duplicate of # 15641
avatar davidcchapman
davidcchapman
21 May 2017

Steps to reproduce the issue

any page view for many templates

Expected result

no warnings

Actual result

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

System information (as much as possible)

CentOS 7.2 Rackspace VM

$ uname -a
Linux cnpsserver2 3.10.0-514.16.1.el7.x86_64 #1 SMP Wed Apr 12 15:04:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
$ httpd -V
Server version: Apache/2.4.6 (CentOS)
Server built: Apr 12 2017 21:03:28
Server's Module Magic Number: 20120211:24
Server loaded: APR 1.4.8, APR-UTIL 1.5.2
Compiled using: APR 1.4.8, APR-UTIL 1.5.2
Architecture: 64-bit
Server MPM: prefork
threaded: no
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/httpd"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/run/httpd/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
$ php --version
PHP 5.6.30 (cli) (built: Mar 15 2017 11:08:29)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

Additional comments

The routine stylesheet() generates these warnings whenever a non-array (e.g. NULL) $options value is passed in. The resulting HTTPD error_log is several times the size of access_log (nearly 200 MB/week for us). I was able to silence the warnings on the host I administer by coercing the $options variable to an array at the very start of the function:

if (!is_array($options))
{
$options = array();
}

The assignment to $options on what is now line 609 of html.php is redundant with this patch.

Not all templates/addons trigger this problem, so I can't give you a 100% reproduction recipe, but the defensive coding should be easy to understand.

avatar davidcchapman davidcchapman - open - 21 May 2017
avatar joomla-cms-bot joomla-cms-bot - labeled - 21 May 2017
avatar brianteeman
brianteeman - comment - 21 May 2017

Are these Joomlaart T3 templates

avatar Quy
Quy - comment - 21 May 2017

Duplicate #15641.

avatar mbabker mbabker - change - 21 May 2017
Status New Closed
Closed_Date 0000-00-00 00:00:00 2017-05-21 23:48:40
Closed_By mbabker
avatar mbabker mbabker - close - 21 May 2017
avatar mbabker mbabker - change - 21 May 2017
Rel_Number 0 15641
Relation Type Duplicate of
avatar davidcchapman
davidcchapman - comment - 22 May 2017

On 5/21/2017 2:18 PM, Brian Teeman wrote:

Are these Joomlaart T3 templates


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#16174 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AbXld6CfXwTTIPCHPQwDBlRA90l166mMks5r8KovgaJpZM4NhubL.

I manage the VM, not the Joomla! Web site on it, and the Joomla! guru is
on vacation this week. However, under "Styles" it says that "JA Purity
II" is the default style sheet for all pages, and
"templates/ja_purity_ii/blocks/head.php" has calls similar to those
mentioned in #15641 (which I
wish had popped up in my Google searches).

Would debug_backtrace() give me useful information here? I'd have to
build another VM to test it, but I've been getting quite a bit of
practice configuring machines recently. :-(

--
David Chapman davidc@chapman-consulting-sj.com
Chapman Consulting -- San Jose, CA
Software Development Done Right.
www.chapman-consulting-sj.com

avatar brianteeman
brianteeman - comment - 22 May 2017

It is a joomlart template so check if they have an update

avatar exlemor
exlemor - comment - 18 Sep 2017

I have the same issue with a Yootheme template - Moreno v1.0.14, and it's the latest version.

It's ONLY happening with a page generated by Download Tracker 3 for Joomla 3, the author Satish [who is very difficult to get a hold of] said that it's NOT a Download Tracker issue but a Joomla one and pointed me to this... problem is that he seems unwilling to correct it and blames Joomla for the issue ;(

What can I provide for you aside from the temporary site location so that you can view it which is:
http://www.about-ars.com/_new_site/index.php?option=com_dtracker&filename=Rollvis-01-2013-EN.pdf&filetitle=HERE

This is the last remaining issue before I can hand over this site for customer review and I'd love to do that asap ;)
Cheers,

Emmanuel.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16174.
avatar exlemor
exlemor - comment - 18 Sep 2017

By editing html.php to change line 603-604:

// B/C before 3.7.0
if (!is_array($array))

to

// B/C before 3.7.0
if (!is_array($options))

The errors seem to go away - I hate having to edit core Joomla files, as I have always been told that's a BAD thing [plus it will need to be fixed after each update] so any better solutions, I'm open to or can try to help you guys figure out what is causing this [even though I'm not a coder].


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16174.

avatar exlemor
exlemor - comment - 18 Sep 2017

I of course meant to say in the first part of this previous message:

// B/C before 3.7.0
if (!is_array($attribs)) and not if (!is_array($array)) as I wrote it.

Sorry about that.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/16174.
avatar franz-wohlkoenig
franz-wohlkoenig - comment - 19 Sep 2017

@exlemor can you please open a new Issue? Comments on closed Issues get low Attention.

avatar FoTo50
FoTo50 - comment - 22 Jul 2018

Even if this is an older issue and already marked as closed, I post here in hope this reaches the Joomla devs to finally get rid of it:

The reason for these notices is when adding a stylesheet the "old" way, e.g.:

JHTML::stylesheet(file,path)
instead of
$document->addStyleSheet(path-to-css-file)

Of course, the reason for this warning is an outdated code (mostly in templates, but also in extensions), but created by Joomla. So imho either remove the method completely to force developers to update or correct it to avoid the warning ;)

Greetz

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 22 Jul 2018

@FoTo50 can you please open a new Issue (and link to this Issue) as Comments on closed Issues didn't get much Notice, thanks.

Add a Comment

Login with GitHub to post a comment