David C. Rankin | 10 May 2012 21:32

php update 5.3 -> 5.4; parseStructure() should not be called statically

Paul, all,

   Update today from php 5.3.12 -> 5.4.3 caused a new SquirrelMail notice at 
the bottom of the message:

Category: 	PHP
Message: 	Non-static method Message::parseStructure() should not be called 
statically
FILE: 	/srv/http/htdocs/squirrelmail/functions/mime.php
LINE: 	59
Category: 	PHP
Message: 	Non-static method Message::parseBodyStructure() should not be called 
statically
FILE: 	/srv/http/htdocs/squirrelmail/class/mime/Message.class.php
LINE: 	296

   Squirrelmail, continues to work. It looks like php deprecated:

parseStructure()
parseBodyStructure()

or something similar. Let me know if I can send anything else, but the notice 
looks fairly straightforward.

--

-- 
David C. Rankin, J.D.,P.E.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
(Continue reading)

David C. Rankin | 10 May 2012 21:43

Re: php update 5.3 -> 5.4; parseStructure() should not be called statically

On 05/10/2012 02:32 PM, David C. Rankin wrote:
> Paul, all,
>
>     Update today from php 5.3.12 ->  5.4.3 caused a new SquirrelMail notice at
> the bottom of the message:
>
> Category: 	PHP
> Message: 	Non-static method Message::parseStructure() should not be called
> statically
> FILE: 	/srv/http/htdocs/squirrelmail/functions/mime.php
> LINE: 	59
> Category: 	PHP
> Message: 	Non-static method Message::parseBodyStructure() should not be called
> statically
> FILE: 	/srv/http/htdocs/squirrelmail/class/mime/Message.class.php
> LINE: 	296
>
>     Squirrelmail, continues to work. It looks like php deprecated:
>
> parseStructure()
> parseBodyStructure()
>
> or something similar. Let me know if I can send anything else, but the notice
> looks fairly straightforward.
>

Paul,

   Sorry, I guess I need to give you the version info on sqmail. I'm using 
1.5.2 svn (At revision 14325).
(Continue reading)

Paul Lesniewski | 11 May 2012 05:19
Favicon

Re: php update 5.3 -> 5.4; parseStructure() should not be called statically

On Thu, May 10, 2012 at 12:43 PM, David C. Rankin
<drankinatty <at> suddenlinkmail.com> wrote:
> On 05/10/2012 02:32 PM, David C. Rankin wrote:
>> Paul, all,
>>
>>     Update today from php 5.3.12 ->  5.4.3 caused a new SquirrelMail notice at
>> the bottom of the message:
>>
>> Category:     PHP
>> Message:      Non-static method Message::parseStructure() should not be called
>> statically
>> FILE:         /srv/http/htdocs/squirrelmail/functions/mime.php
>> LINE:         59
>> Category:     PHP
>> Message:      Non-static method Message::parseBodyStructure() should not be called
>> statically
>> FILE:         /srv/http/htdocs/squirrelmail/class/mime/Message.class.php
>> LINE:         296
>>
>>     Squirrelmail, continues to work. It looks like php deprecated:
>>
>> parseStructure()
>> parseBodyStructure()
>>
>> or something similar. Let me know if I can send anything else, but the notice
>> looks fairly straightforward.
>>
>
> Paul,
>
(Continue reading)

David C. Rankin | 11 May 2012 18:57

Re: php update 5.3 -> 5.4; parseStructure() should not be called statically

On 05/10/2012 10:19 PM, Paul Lesniewski wrote:
> Thanks, we are aware of this.  We do not recommend E_STRICT error reporting.

Thanks Paul -- that is just the default set by Archlinux with its php install. 
I'll look into changing the setting.

--

-- 
David C. Rankin, J.D.,P.E.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
-----
squirrelmail-users mailing list
Posting guidelines: http://squirrelmail.org/postingguidelines
List address: squirrelmail-users <at> lists.sourceforge.net
List archives: http://news.gmane.org/gmane.mail.squirrelmail.user
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-users

David C. Rankin | 15 Jun 2012 18:26

Re: php update 5.3 -> 5.4; parseStructure() should not be called statically

On 05/11/2012 11:57 AM, David C. Rankin wrote:
> On 05/10/2012 10:19 PM, Paul Lesniewski wrote:
>> Thanks, we are aware of this.  We do not recommend E_STRICT error reporting.
>
> Thanks Paul -- that is just the default set by Archlinux with its php install.
> I'll look into changing the setting.
>

Paul,

   I'm still having difficulty turning the warnings/notices off in php . I 
currently have the error_reporting set at:

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE & 
~E_USER_WARNING & ~E_USER_NOTICE

   I have tried:

error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
error_reporting = E_ERROR

(with server stop/start between each -- not just reload)

   However, squirrelmail 1.5.2 svn still displays the following at the bottom 
of each page:

SquirrelMail notice messages
Category: 	PHP
Message: 	Non-static method Message::parseStructure() should not be called 
statically
(Continue reading)

David C. Rankin | 15 Jun 2012 18:42

Re: php update 5.3 -> 5.4; parseStructure() should not be called statically

On 06/15/2012 11:26 AM, David C. Rankin wrote:
<snip>
>
>     I'll see if there are any bug reports open with php or Arch on the issue.
> If you can think of anything else, please let me know. Thanks for your
> continued work on squirrelmail!
>

Paul,

   Take a look at:

https://bugs.php.net/bug.php?id=61356

   Is there a possible similar problem in the squirrelmail code with 
error_reporting set in squirrelmail itself?

--

-- 
David C. Rankin, J.D.,P.E.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
-----
squirrelmail-users mailing list
Posting guidelines: http://squirrelmail.org/postingguidelines
List address: squirrelmail-users <at> lists.sourceforge.net
(Continue reading)

David C. Rankin | 16 Jun 2012 01:20

Re: php update 5.3 -> 5.4; parseStructure() should not be called statically

On 06/15/2012 11:42 AM, David C. Rankin wrote:
> On 06/15/2012 11:26 AM, David C. Rankin wrote:
> <snip>
>>
>>     I'll see if there are any bug reports open with php or Arch on the issue.
>> If you can think of anything else, please let me know. Thanks for your
>> continued work on squirrelmail!
>>
> 
> Paul,
> 
>    Take a look at:
> 
> https://bugs.php.net/bug.php?id=61356
> 
>    Is there a possible similar problem in the squirrelmail code with 
> error_reporting set in squirrelmail itself?
> 

Paul,

  I apologize if this list gets two copies of this, but I didn't see the first
come through. Could the squirrelmail code be setting E_ALL and causing this
problem? I don't see this issue with my other web apps. Grepping, the following
looked suspicious. I'm not a php coder, so it could be harmless, but this is
what I found:

contrib/test_ldap.phps:error_reporting(E_ALL);

include/init.php://error_reporting(E_ALL);
(Continue reading)

David C. Rankin | 19 Jun 2012 20:49

Re: php update 5.3 -> 5.4; parseStructure() should not be called statically

On 06/15/2012 06:20 PM, David C. Rankin wrote:
> Paul,
>
>    I apologize if this list gets two copies of this, but I didn't see the first
> come through. Could the squirrelmail code be setting E_ALL and causing this
> problem? I don't see this issue with my other web apps. Grepping, the following
> looked suspicious. I'm not a php coder, so it could be harmless, but this is
> what I found:
>
> contrib/test_ldap.phps:error_reporting(E_ALL);
>
> include/init.php://error_reporting(E_ALL);
> include/init.php:error_reporting($error_level);
>
> src/configtest.php:$php_error_reporting_original_value = ini_get('error_reporting');
> src/configtest.php:error_reporting(E_ALL);
> src/configtest.php:echo $IND . 'error_reporting: ' .
> $php_error_reporting_original_value . " (overridden with 2047 for this page
> only)<br />\n";
>
>    Could one of these be the culprit causing the E_STRICT notices I'm seeing
> despite having set ~E_STRICT in php.ini?

Paul, Tomas,

   It IS squirrelmail that is causing the errors to be displayed -- not the 
php.ini setting. As a test I changed the instances of 'error_reporting' and 
'error_reporting(ALL)' in:

class/error.class.php
(Continue reading)

Tomas Kuliavas | 20 Jun 2012 19:06
Picon
Gravatar

Re: php update 5.3 -> 5.4; parseStructure() should not be called statically


David C. Rankin wrote:
> 
> On 06/15/2012 06:20 PM, David C. Rankin wrote:
>> Paul,
>>
>>    I apologize if this list gets two copies of this, but I didn't see the
>> first
>> come through. Could the squirrelmail code be setting E_ALL and causing
>> this
>> problem? I don't see this issue with my other web apps. Grepping, the
>> following
>> looked suspicious. I'm not a php coder, so it could be harmless, but this
>> is
>> what I found:
>>
>> contrib/test_ldap.phps:error_reporting(E_ALL);
>>
>> include/init.php://error_reporting(E_ALL);
>> include/init.php:error_reporting($error_level);
>>
>> src/configtest.php:$php_error_reporting_original_value =
>> ini_get('error_reporting');
>> src/configtest.php:error_reporting(E_ALL);
>> src/configtest.php:echo $IND . 'error_reporting: ' .
>> $php_error_reporting_original_value . " (overridden with 2047 for this
>> page
>> only)<br />\n";
>>
>>    Could one of these be the culprit causing the E_STRICT notices I'm
(Continue reading)

David C. Rankin | 20 Jun 2012 19:39

Re: php update 5.3 -> 5.4; parseStructure() should not be called statically

On 06/20/2012 12:06 PM, Tomas Kuliavas wrote:
> Use number instead of constant name. Not all error reporting constants are
> available on older PHP version. You should not suppress E_NOTICE in
> SquirrelMail. This error reporting level should be displayed to catch coding
> errors.
>
> SquirrelMail is displaying E_STRICT errors cause PHP changed error reporting
> levels included in E_ALL. You can find old rants about it on php-internals.
> You might call it SquirrelMail problem, but only interpreter's designers are
> guilty for creating this issue.
>
> Please don't put my name next to Paul's. I am not SquirrelMail developer.

Thank you for the heads up. I'll make sure I don't do that again.

I wonder how egroupware and others have handled the inclusion of E_STRICT in 
E_ALL to suppress the E_STRICT notices in the pages they serve? The only 
reason this issue surfaced in sqmail was the users I had were reporting the 
warning messages (which appear in Red at the bottom of the message viewer 
window) Event suppressing ~E_STRICT in php.ini did not suppress them in 
squirrelmail.

I guess I should just suppress the ~E_STRICT in the sqmail files. I don't have 
to worry about older PHP versions. The hacks I made were just to my personal 
squirrelmail install. On Arch, the php version is set and will not go 
backwards for me.

I hope you understand I wasn't suggesting that anyone else make those changes 
and that I only reported to the list to help identify the lines of code in 
sqmail I had to change to suppress the messages with the new php.
(Continue reading)

Paul Lesniewski | 28 Jul 2012 08:10
Favicon

Re: php update 5.3 -> 5.4; parseStructure() should not be called statically

David,

Apologies for the delay,

On Fri, Jun 15, 2012 at 9:26 AM, David C. Rankin
<drankinatty <at> suddenlinkmail.com> wrote:
> On 05/11/2012 11:57 AM, David C. Rankin wrote:
>> On 05/10/2012 10:19 PM, Paul Lesniewski wrote:
>>> Thanks, we are aware of this.  We do not recommend E_STRICT error reporting.
>>
>> Thanks Paul -- that is just the default set by Archlinux with its php install.
>> I'll look into changing the setting.
>>
>
> Paul,
>
>    I'm still having difficulty turning the warnings/notices off in php . I
> currently have the error_reporting set at:
>
> error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE &
> ~E_USER_WARNING & ~E_USER_NOTICE
>
>    I have tried:
>
> error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
> error_reporting = E_ERROR
>
> (with server stop/start between each -- not just reload)
>
>    However, squirrelmail 1.5.2 svn still displays the following at the bottom
(Continue reading)


Gmane