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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
contrib/test_ldap.phps
functions/global.php
include/init.php
src/configtest.php

   It was a crude hack, but I basically just set everything to override the 
current error_reporting values as follows:

class/error.class.php:

         $iCurErrLevel = error_reporting(ini_get('error_reporting'));
//         error_reporting($iCurErrLevel);
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);

contrib/test_ldap.phps:

// error_reporting(E_ALL);
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);

functions/global.php:

    if (!($sm_debug_mode & SM_DEBUG_MODE_ADVANCED))
//       error_reporting($error_reporting);
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);

include/init.php:

     $error_level |= E_STRICT;
// error_reporting($error_level);
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);

src/configtest.php:

// error_reporting(E_ALL);
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);

   That completely fixed the notices being displayed in the squirrelmail 
message window and prevented the notices going into the log file.

   I haven't had time to back everything out one by one to find out which one 
was the problem, but it is one of the five above. Again, regardless of the 
php.ini value, squirrelmail 1.5.2 svn (14265:14327M) was displaying the 
notices. This was with php 5.4.3-4 on Arch Linux. All good now.

-- 
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@xxxxxxxxxxxxxxxxxxxxx
List archives: http://news.gmane.org/gmane.mail.squirrelmail.user
List info (subscribe/unsubscribe/change options): https://lists.sourceforge.net/lists/listinfo/squirrelmail-users


[Index of Archives]     [Video For Linux]     [Yosemite News]     [Yosemite Photos]     [gtk]     [KDE]     [Cyrus SASL]     [Gimp on Windows]     [Steve's Art]     [Webcams]

  Powered by Linux