Bug #35154

Exclude E_STRICT from exceptionalErrors in PHP 5.4

Added by Steffen Müller about 1 year ago. Updated 8 months ago.

Status:Closed Start date:2012-03-22
Priority:Should have Due date:
Assignee:- % Done:

100%

Category:-
Target version:-
TYPO3 Version:4.7 Complexity:
PHP Version:
Votes: 0

Description

From PHP 5.4, E_STRICT became part of E_ALL

This leads to a whole bunch of thrown exception on PHP runtime notices.

To keep behavior of error handling with PHP 5.4, we need to exclude E_STRICT from exceptionalErrors:

I am not sure, if replacing:

E_ALL

with
E_ALL & ~E_STRICT

is working in combination with ^ operator.

For example, replace:

E_ALL ^ E_NOTICE

with
E_ALL & ~E_STRICT ^ E_NOTICE

Can any please confirm?

I can't test ATM because PHP started to constantly segfault my apache.


Related issues

duplicated by Core - Bug #38606: Illegal string offsets in class.t3lib_parsehtml_proc.php Rejected 2012-07-03
duplicated by Core - Bug #38444: PHP 5.4 issue?! Resolved 2012-06-28
duplicated by Core - Bug #38691: Exclude E_STRICT on PHP 5.4 Closed 2012-07-05
duplicated by Core - Bug #39232: PHP error_reporting cannot be set properly, E_STRICT erro... Resolved 2012-07-25
precedes Core - Bug #38645: New error_reporting settings cause notice "undefined cons... Resolved 2012-07-04

Associated revisions

Revision 4f73988d
Added by Steffen Müller 11 months ago

[BUGFIX] Exclude E_STRICT from error reporting

From PHP 5.4, E_STRICT became part of E_ALL. This leads to lots of runtime
notice exceptions when using PHP 5.4. To avoid that, E_STRICT needs to be
excluded from error reporting.

Change-Id: I457585b03e2c7d6722c61636a04af47b4b5191f5
Fixes: #35154
Releases: 6.0, 4.7, 4.6, 4.5
Reviewed-on: http://review.typo3.org/10524
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Stefan Neufeind
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn

Revision 18332caf
Added by Steffen Müller 11 months ago

[BUGFIX] Exclude E_STRICT from exceptionalErrors

From PHP 5.4, E_STRICT became part of E_ALL. This leads to lots of runtime
notice exceptions when using PHP 5.4. To avoid that, E_STRICT needs to be
excluded from error reporting.

Change-Id: Iadddfe42f48afc902a67c157df052b4ec15ee8da
Fixes: #35154
Releases: 6.0, 4.7, 4.6, 4.5
Reviewed-on: http://review.typo3.org/11636
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn

Revision 3b90001b
Added by Steffen Müller 11 months ago

[BUGFIX] Exclude E_STRICT from error reporting

From PHP 5.4, E_STRICT became part of E_ALL. This leads to lots of runtime
notice exceptions when using PHP 5.4. To avoid that, E_STRICT needs to be
excluded from error reporting.

Change-Id: I457585b03e2c7d6722c61636a04af47b4b5191f5
Fixes: #35154
Releases: 6.0, 4.7, 4.6, 4.5
Reviewed-on: http://review.typo3.org/10524
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Stefan Neufeind
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn

Revision d5cb5fbc
Added by Mario Rimann 11 months ago

[BUGFIX] Exclude E_STRICT from exceptionalErrors

From PHP 5.4, E_STRICT became part of E_ALL. This leads to lots of runtime
notice exceptions when using PHP 5.4. To avoid that, E_STRICT needs to be
excluded from error reporting.

Change-Id: I7ccd81a936384bc9417fcba79a59b9a0d255d229
Fixes: #35154
Releases: 6.0, 4.7, 4.6, 4.5
Reviewed-on: http://review.typo3.org/12528
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader

Revision d8f537d1
Added by Mario Rimann 11 months ago

[BUGFIX] Exclude E_STRICT from exceptionalErrors

From PHP 5.4, E_STRICT became part of E_ALL. This leads to lots of runtime
notice exceptions when using PHP 5.4. To avoid that, E_STRICT needs to be
excluded from error reporting.

Change-Id: I7cb7c2151444ee863cdb163c9aa7544fae43da5c
Fixes: #35154
Releases: 6.0, 4.7, 4.6, 4.5
Reviewed-on: http://review.typo3.org/12529
Tested-by: Steffen Ritter
Reviewed-by: Steffen Ritter
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader

Revision ce5ba95c
Added by Philipp Gampe 10 months ago

[BUGFIX] Exclude E_STRICT from errors with PHP 5.4

The main entry points have been refactored, but some places have been
forgotten leading to E_STRICT errors flooding the log.

Refactor all places to use the same code:
error_reporting(E_ALL & ~(E_STRICT | E_NOTICE | E_DEPRECATED));

Change-Id: Iff2040357fc7cc04224820f4685202aeed996865
Resolves: #35154
Fixes: #38691
Releases: 4.6
Reviewed-on: http://review.typo3.org/12691
Reviewed-by: Markus Klein
Reviewed-by: Marcus Schwemer
Tested-by: Marcus Schwemer
Tested-by: Markus Klein
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel

Revision 02442d87
Added by Philipp Gampe 10 months ago

[BUGFIX] Exclude E_STRICT from errors with PHP 5.4

The main entry points have been refactored, but some places have been
forgotten leading to E_STRICT errors flooding the log.

Refactor all places to use the same code:
error_reporting(E_ALL & ~(E_STRICT | E_NOTICE | E_DEPRECATED));

Change-Id: I57afeb356349bf486236b6c083df28ed6dfbdf9f
Related: #35154
Fixes: #38691
Releases: 4.7
Reviewed-on: http://review.typo3.org/12690
Reviewed-by: Markus Klein
Reviewed-by: Marcus Schwemer
Tested-by: Marcus Schwemer
Tested-by: Markus Klein
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel

Revision 841862e1
Added by Philipp Gampe 10 months ago

[BUGFIX] Exclude E_STRICT from errors with PHP 5.4

The main entry points have been refactored, but some places have been
forgotten leading to E_STRICT errors flooding the log.

Refactor all places to use the same code:
error_reporting(E_ALL & ~(E_STRICT | E_NOTICE | E_DEPRECATED));

Change-Id: I5ba40bcefd236d77b21cdb545685bcae40e60f1f
Related: #35154
Fixes: #38691
Releases: 6.0
Reviewed-on: http://review.typo3.org/12689
Reviewed-by: Marcus Schwemer
Tested-by: Marcus Schwemer
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel

Revision 3e948f8c
Added by Philipp Gampe 10 months ago

[BUGFIX] Exclude E_STRICT from errors with PHP 5.4

The main entry points have been refactored, but some places have been
forgotten leading to E_STRICT errors flooding the log.

Refactor all places to use the same code:
error_reporting(E_ALL & ~(E_STRICT | E_NOTICE | E_DEPRECATED));

Change-Id: I5ba40bcefd236d77b21cdb545685bcae40e60f1f
Related: #35154
Fixes: #38691
Releases: 6.0
Reviewed-on: http://review.typo3.org/12689
Reviewed-by: Marcus Schwemer
Tested-by: Marcus Schwemer
Reviewed-by: Markus Klein
Tested-by: Markus Klein
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel

History

Updated by Markus Klein about 1 year ago

Just to ensure the bitmask is correct:

E_ALL & ~(E_STRICT | E_NOTICE)

Updated by Gerrit Code Review about 1 year ago

  • Status changed from New to Under Review

Patch set 1 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/10524

Updated by Gerrit Code Review about 1 year ago

Patch set 2 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/10524

Updated by Peter Niederlag about 1 year ago

@backporting: there migth be additional calls which set the error_reporting() level that need to be fixed! (typo3/sysext/cms/tslib/index_ts.php)

Updated by Gerrit Code Review about 1 year ago

Patch set 3 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/10524

Updated by Gerrit Code Review about 1 year ago

Patch set 4 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/10524

Updated by Gabriel Kaufmann / Typoworx NewMedia about 1 year ago

I tried to get TYPO3 4.6.8 work on PHP 5.4. My current Ubuntu provided PHP 5.3 seems to encounter an PHP-Bug, so I compiled the latest PHP5 stable (5.4 release) as alternative.

I didn't get TYPO3 to get work stable on this PHP5 release! I got the "Core" working mostly after patching "/index.php" and "/typo3/init.php" with my own error_reporting settings.

I think the original error-reporting setup should be replaced like this:

TYPO3-Core files:
  • /index.php
  • /typo3/init.php

@

// ***********************
// Set error reporting
// ***********************
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);

// PHP 5.4 FIX, TYPOWORX <>
if (strnatcmp(phpversion(),'5.4.0') >= 0) {
error_reporting(E_ALL ^ E_STRICT ^ E_NOTICE ^ E_WARNING ^ E_DEPRECATED);
}

@

But non the less, the result is very poor. A lot of TYPO3 Core-Classes and Extension-Classes doesn't seem to work fine on PHP 5.4 release without a bunch of improvements.

Updated by Gerrit Code Review 12 months ago

Patch set 1 for branch TYPO3_4-7 has been pushed to the review server.
It is available at http://review.typo3.org/11636

Updated by Gerrit Code Review 12 months ago

Patch set 5 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/10524

Updated by Gerrit Code Review 12 months ago

Patch set 6 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/10524

Updated by Gerrit Code Review 12 months ago

Patch set 7 for branch master has been pushed to the review server.
It is available at http://review.typo3.org/10524

Updated by Gerrit Code Review 12 months ago

Patch set 2 for branch TYPO3_4-7 has been pushed to the review server.
It is available at http://review.typo3.org/11636

Updated by Steffen Müller 11 months ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

Updated by Mario Rimann 11 months ago

How can we make sure that this change will be applied to 4.6 and 4.5 branches and end up in the next maintenance release of those?

Updated by Gerrit Code Review 11 months ago

  • Status changed from Resolved to Under Review

Patch set 1 for branch TYPO3_4-5 has been pushed to the review server.
It is available at http://review.typo3.org/12528

Updated by Gerrit Code Review 11 months ago

Patch set 1 for branch TYPO3_4-6 has been pushed to the review server.
It is available at http://review.typo3.org/12529

Updated by Gerrit Code Review 11 months ago

Patch set 2 for branch TYPO3_4-6 has been pushed to the review server.
It is available at http://review.typo3.org/12529

Updated by Mario Rimann 11 months ago

  • Status changed from Under Review to Resolved

Updated by Gerrit Code Review 11 months ago

  • Status changed from Resolved to Under Review

Patch set 1 for branch TYPO3_4-6 has been pushed to the review server.
It is available at http://review.typo3.org/12691

Updated by Philipp Gampe 10 months ago

  • Status changed from Under Review to Resolved

Updated by Gerrit Code Review 10 months ago

  • Status changed from Resolved to Under Review

Patch set 1 for branch TYPO3_4-7 has been pushed to the review server.
It is available at http://review.typo3.org/13156

Updated by Gerrit Code Review 10 months ago

Patch set 1 for branch TYPO3_4-6 has been pushed to the review server.
It is available at http://review.typo3.org/13291

Updated by Gerrit Code Review 10 months ago

Patch set 1 for branch TYPO3_4-6 has been pushed to the review server.
It is available at http://review.typo3.org/13313

Updated by Wouter Wolters 8 months ago

Please close this issue. All affected branches are up to date.

Updated by Stefan Galinski 8 months ago

  • Status changed from Under Review to Closed

Also available in: Atom PDF