Project

General

Profile

Actions

Epic #65314

closed

PHP7

Added by Alexander Opitz about 9 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Should have
Category:
-
Target version:
Start date:
2015-02-25
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
Sprint Focus:

Description

Tracking issue for TYPO3 CMS 7 LTS with PHP 7 to ensure compatibility as PHP 7 will be released around autumn 2015 (like our LTS).


Subtasks 16 (0 open16 closed)

Bug #65315: ExtractorRegistryTest::registeredExtractorClassWithSamePriorityAreReturnedInSameOrderAsTheyWereAddedClosed2015-02-25

Actions
Bug #65316: RendererRegistryTest::registeredFileRendererClassWithSamePriorityAreReturnedInSameOrderAsTheyWereAddedClosed2015-02-25

Actions
Bug #65317: TypoScriptParserTest::executeValueModifierReturnsModifiedResultClosed2015-02-25

Actions
Bug #65318: ExtensionManagementUtilityTest::addTcaSelectItemInsertsItemAtSpecifiedPositionClosedAlexander Opitz2015-02-25

Actions
Bug #65319: ResourceUtilityTest::recursiveFileListSortingHelperCorrectlySortsClosedAlexander Opitz2015-02-25

Actions
Bug #65320: BooleanNodeTest::convertToBooleanProperlyConvertsNumericValuesClosed2015-02-25

Actions
Bug #65321: PHP7: Memory issue in TYPO3\CMS\Extbase\Tests\Unit\Mvc\Web\RequestBuilderTest::buildThrowsExceptionIfControllerConfigurationIsEmptyOrNotSetClosedAlexander Opitz2015-02-25

Actions
Task #65351: Update travis.yml to support PHP 7Closed2015-02-25

Actions
Bug #67092: PHP7 Warning DateViewHelperTest::setLocale() should be compatible with PHPUnit_Framework_TestCase::setLocale()Closed2015-05-21

Actions
Bug #67189: LogRecordTest::toStringIncludesExceptionDataAsJsonClosedAlexander Opitz2015-05-29

Actions
Bug #67362: PHP Fatal error: Cannot use 'Null' as class nameClosed2015-06-09

Actions
Task #68194: PHP7 compliance - make unit tests runClosed2015-07-15

Actions
Bug #68634: IfViewHelpers don't follow parents' method signature for render()ClosedBenni Mack2015-07-29

Actions
Bug #69448: PHP7: SIGSEGV, Segmentation fault zend_ast_destroy_exClosedAlexander Opitz2015-09-01

Actions
Bug #69449: PHP7: SIGABRT, Aborted at raise.cRejectedAlexander Opitz2015-09-01

Actions
Bug #69378: Remove check for always_populate_raw_post_data for PHP7ClosedAlexander Opitz2015-08-27

Actions

Related issues 2 (0 open2 closed)

Related to TYPO3 Core - Bug #72117: TYPO3\CMS\Core\Error\AbstractExceptionHandler::handleException() can not handle PHP 7 ErrorsClosedAlexander Opitz2015-12-09

Actions
Related to TYPO3 Core - Task #72292: PHP7 >= onlyClosed2015-12-17

Actions
Actions #1

Updated by Alexander Opitz about 9 years ago

State: PHP 5.5.12-2ubuntu4.2 (cli) (built: Feb 13 2015 18:56:49)

  • Tests: 5548, Assertions: 6905, Skipped: 152
  • Time: 14.99 seconds, Memory: 513.75Mb

State: PHP 7.0.0-dev (cli) (built: Feb 25 2015 09:59:30)

  • Some sporadic crashes
  • Crash in Extbase tests
  • Tests: 5548, Assertions: 6916, Failures: 7, Skipped: 137
  • Time: 11.17 seconds, Memory: 344.00Mb

(Less skipped tests as PHP 7 runs the PDO tests)

Actions #2

Updated by Gerrit Code Review about 9 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at http://review.typo3.org/37250

Actions #3

Updated by Michael Stucki about 9 years ago

  • Status changed from Under Review to New
Actions #4

Updated by Alexander Opitz almost 9 years ago

PHP 5.5.12-2ubuntu4.4 (cli) (built: Apr 17 2015 11:47:44)
  • Tests: 6956, Assertions: 9010, Skipped: 160.
  • Time: 17.98 seconds, Memory: 641.00Mb
PHP 7.0.0-dev (cli) (built: May 11 2015 18:20:03)
  • No sporadic crashes anymore
  • crash in extbase/Tests/Unit/Mvc/Web/RequestBuilderTest.php (Test deactivated)
  • Tests: 6956, Assertions: 8994, Errors: 23, Failures: 5, Skipped: 145.
  • Time: 13.21 seconds, Memory: 284.00Mb
Actions #5

Updated by Alexander Opitz almost 9 years ago

PHP 5.5.12-2ubuntu4.4 (cli) (built: Apr 17 2015 11:47:44)
  • Tests: 6957, Assertions: 9009, Skipped: 160.
  • Time: 17.56 seconds, Memory: 641.25Mb
PHP 7.0.0-dev (cli) (built: May 26 2015 08:57:59) (DEBUG)
  • (!) DEBUG Build
  • crash in extbase/Tests/Unit/Mvc/Web/RequestBuilderTest.php (Test deactivated)
  • Less skipped tests as it runs the PDO tests
  • Tests: 6957, Assertions: 9010, Errors: 22, Failures: 5, Skipped: 145.
  • Time: 27.89 seconds, Memory: 314.00Mb
Actions #6

Updated by Alexander Opitz almost 9 years ago

PHP 5.5.12-2ubuntu4.4 (cli) (built: Apr 17 2015 11:47:44)
  • Tests: 7040, Assertions: 9127, Skipped: 160.
  • Time: 18.05 seconds, Memory: 646.00Mb
PHP 7.0.0-dev (cli) (built: Jun 5 2015 09:53:11) (DEBUG)
  • (!) DEBUG Build
  • crash in extbase/Tests/Unit/Mvc/Web/RequestBuilderTest.php (Test deactivated)
  • Less skipped tests as it runs the PDO tests
  • Tests: 7040, Assertions: 9128, Errors: 22, Failures: 4, Skipped: 145.
  • Tests: 7040, Assertions: 9128, Errors: 22, Failures: 3, Skipped: 145. (After commit of #67189)
  • Time: 27.34 seconds, Memory: 318.00Mb
Actions #7

Updated by Alexander Opitz almost 9 years ago

PHP 5.5.12-2ubuntu4.4 (cli) (built: Apr 17 2015 11:47:44)
  • Tests: 7185, Assertions: 9274, Skipped: 160.
  • Time: 21.88 seconds, Memory: 654.75Mb
PHP 7.0.0-dev (cli) (built: Jun 19 2015 12:39:56)
  • crash in extbase/Tests/Unit/Mvc/Web/RequestBuilderTest.php (Test deactivated)
  • Less skipped tests as it runs the PDO tests
  • Missing 44 Tests against PHP 5.5?
  • Tests: 7141, Assertions: 9234, Errors: 19, Failures: 3, Skipped: 145.
  • Time: 12.23 seconds, Memory: 286.00Mb
Actions #8

Updated by Alexander Opitz almost 9 years ago

PHP 5.6.4-4ubuntu6 (cli) (built: Apr 17 2015 15:47:51)
  • Tests: 7228, Assertions: 9306, Skipped: 160.
  • Time: 18.66 seconds, Memory: 655.25Mb
PHP 7.0.0-dev (cli) (built: Jun 22 2015 11:27:07)
  • crash in extbase/Tests/Unit/Mvc/Web/RequestBuilderTest.php (Test deactivated)
  • Less skipped tests as it runs the PDO tests
  • Tests: 7228, Assertions: 9315, Errors: 15, Failures: 3, Skipped: 145.
  • Time: 13.85 seconds, Memory: 288.00Mb
Actions #9

Updated by Alexander Opitz almost 9 years ago

Nice reading and benchmarks.

http://talks.php.net/fluent15#/

Actions #10

Updated by Susanne Moog almost 9 years ago

With https://review.typo3.org/#/c/41274/1 I have no errors and no failures in the tests (but still skips the request things) and backend works quite well. Let's join forces :)

Actions #11

Updated by Alexander Opitz over 8 years ago

PHP 5.6.4-4ubuntu6.2 (cli) (built: Jul 2 2015 15:29:28)
  • Tests: 7696, Assertions: 10036, Errors: 8, Skipped: 162.
  • Time: 20.83 seconds, Memory: 675.25Mb
PHP 7.0.0-dev (cli) (built: Jul 10 2015 11:55:11)
  • crash in extbase/Tests/Unit/Mvc/Web/RequestBuilderTest.php (Test deactivated)
  • Less skipped tests as it runs the PDO tests
  • Tests: 7696, Assertions: 10028, Errors: 11, Failures: 1, Skipped: 179.
  • Time: 14.68 seconds, Memory: 296.00Mb
Actions #12

Updated by Alexander Opitz over 8 years ago

Fixed my typo3 master for the phpunit runnings, added PDO tests to 5.6.x. Also the PHP7 crash is fixed, so here are new numbers

PHP 5.6.4-4ubuntu6.2 (cli) (built: Jul 2 2015 15:29:28)
  • Tests: 7694, Assertions: 10071, Skipped: 147.
  • Time: 20.84 seconds, Memory: 678.50Mb
PHP 7.0.0-dev (cli) (built: Jul 29 2015 09:56:18)
  • Tests: 7694, Assertions: 10067, Errors: 3, Failures: 1, Skipped: 147.
  • Time: 14.48 seconds, Memory: 296.00Mb
Actions #13

Updated by Alexander Opitz over 8 years ago

After releasing PHP 7.0beta3 all seams fine.

PHP 5.6.4-4ubuntu6.2 (cli) (built: Jul 2 2015 15:29:28)
  • Tests: 7750, Assertions: 10142, Skipped: 147.
  • Time: 20.02 seconds, Memory: 686.75Mb
PHP 7.0.0-dev (cli) (built: Jul 29 2015 09:56:18)
  • Tests: 7750, Assertions: 10142, Skipped: 147.
  • Time: 14.89 seconds, Memory: 302.00Mb

Will do regular updates till PHP 7.0 is released which seams to be some days before our TYPO3.CMS 7 LTS.

Actions #14

Updated by Alexander Opitz over 8 years ago

  • Status changed from New to In Progress
Actions #15

Updated by Alexander Opitz over 8 years ago

Status Functional Tests

PHP 5.6.4-4ubuntu6.2 (cli) (built: Jul 2 2015 15:29:28)

Time: 58.46 minutes, Memory: 21.75Mb

OK, but incomplete, skipped, or risky tests!
Tests: 691, Assertions: 10783, Skipped: 4.

PHP 7.0.0-dev (cli) (built: Aug 11 2015 10:27:29)

Time: 51.57 minutes, Memory: 12.00Mb

There were 6 errors:

1) TYPO3\CMS\Core\Tests\Functional\DataHandling\IRRE\ForeignField\Modify\ActionTest::modifyParentContent
PHPUnit_Framework_Exception: Segmentation fault (core dumped)

2) TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\IRRE\CSV\Modify\ActionTest::createParentContent
PHPUnit_Framework_Exception: Segmentation fault (core dumped)

3) TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\IRRE\CSV\Publish\ActionTest::modifyParentContent
PHPUnit_Framework_Exception: Segmentation fault (core dumped)

4) TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\IRRE\ForeignField\PublishAll\ActionTest::deletePage
PHPUnit_Framework_Exception: Segmentation fault (core dumped)

5) TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\ManyToMany\Publish\ActionTest::changeCategoryRelationSorting
PHPUnit_Framework_Exception: Segmentation fault (core dumped)

6) TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\ManyToMany\Publish\ActionTest::createContentAndCreateRelation
PHPUnit_Framework_Exception: Segmentation fault (core dumped)

FAILURES!
Tests: 691, Assertions: 10681, Errors: 6, Skipped: 4.

As PHP7 do not crash for travis and some other developers, I need to dig deeper before reporting. It only core dumps in the ActionTest's and it won't core dump if you run every test by themself.
Like with phpunit7 -c typo3/sysext/core/Build/FunctionalTests.xml typo3/sysext/core/Tests/Functional/DataHandling/IRRE/ForeignField/Modify/ActionTest.php

Actions #16

Updated by Alexander Opitz over 8 years ago

Unittests

PHP 5.6.4-4ubuntu6.2 (cli) (built: Jul 2 2015 15:29:28)
  • Time: 20.77 seconds, Memory: 691.00Mb
  • Tests: 7810, Assertions: 10218, Skipped: 147.
PHP 7.0.0-dev (cli) (built: Aug 24 2015 09:26:07) (DEBUG)
  • DEBUG Build
  • Time: 30.48 seconds, Memory: 340.00Mb
  • Tests: 7810, Assertions: 10218, Skipped: 147.

Functionals

Time: 43.74 minutes, Memory: 14.00Mb

There were 4 errors:

1) TYPO3\CMS\Core\Tests\Functional\DataHandling\FAL\Modify\ActionTest::copyContent
PHPUnit_Framework_Exception: Segmentation fault (core dumped)

2) TYPO3\CMS\Core\Tests\Functional\DataHandling\IRRE\ForeignField\Modify\ActionTest::modifyParentAndDeleteHotelChild
PHPUnit_Framework_Exception: Segmentation fault (core dumped)

3) TYPO3\CMS\Extbase\Tests\Functional\Persistence\TranslationTest::fetchingPostsReturnsGreekPostsWithFallback
PHPUnit_Framework_Exception: Aborted (core dumped)

4) TYPO3\CMS\Workspaces\Tests\Functional\DataHandling\Select\Modify\ActionTest::copyContentOfRelation
PHPUnit_Framework_Exception: Aborted (core dumped)

FAILURES!
Tests: 691, Assertions: 10735, Errors: 4, Skipped: 4.
Actions #17

Updated by Stephan Großberndt over 8 years ago

One third slower but half the memory... :-|

Actions #18

Updated by Alexander Opitz over 8 years ago

Unittests

  • PHP 5.6.4-4ubuntu6.2 (cli) (built: Jul 2 2015 15:29:28)
    • Time: 21.21 seconds, Memory: 698.75Mb
    • Tests: 7854, Assertions: 10263, Skipped: 147.
  • PHP 7.0.0-dev (cli) (built: Sep 3 2015 12:08:00)
    • Time: 13.01 seconds, Memory: 304.00Mb
    • Tests: 7854, Assertions: 10263, Skipped: 147.

Functionals

  • PHP 5.6.4-4ubuntu6.2 (cli) (built: Jul 2 2015 15:29:28)
    • Time: 42.63 minutes, Memory: 22.00Mb
    • Tests: 697, Assertions: 10789, Skipped: 4.
  • PHP 7.0.0-dev (cli) (built: Sep 3 2015 12:08:00)
    • Time: 39.49 minutes, Memory: 12.00Mb
    • Tests: 697, Assertions: 10789, Skipped: 4.

The times for the functional tests are more dependent on the database and what does happen on the testing system. Don't use them as Benchmark.

Actions #19

Updated by Alexander Opitz over 8 years ago

Unittests

  • PHP 5.6.4-4ubuntu6.2 (cli) (built: Jul 2 2015 15:29:28)
    • Time: 24.13 seconds, Memory: 764.00Mb
    • Tests: 8214, Assertions: 10877, Skipped: 148, Incomplete: 1.
  • PHP 7.1.0-dev (cli) (built: Sep 17 2015 10:02:25)
    • Time: 18.2 seconds, Memory: 332.00Mb
    • Tests: 8214, Assertions: 10877, Skipped: 148, Incomplete: 1.
  • PHP 7.0.0-dev (cli) (built: Sep 17 2015 14:58:54)
    • Time: 15.7 seconds, Memory: 332.00Mb
    • Tests: 8214, Assertions: 10877, Skipped: 148, Incomplete: 1.

Ups, 7.0 is branched off, so this is a 7.1 dev build this time. (Added unit test for PHP 7.0 branch)

Functionals

  • PHP 5.6.4-4ubuntu6.2 (cli) (built: Jul 2 2015 15:29:28)
    • Time: 40.79 minutes, Memory: 21.75Mb
    • Tests: 697, Assertions: 10789, Skipped: 4.
  • PHP 7.1.0-dev (cli) (built: Sep 17 2015 10:02:25)
    • Time: 42.93 minutes, Memory: 12.00Mb
    • Tests: 697, Assertions: 10789, Skipped: 4.

The times for the functional tests are more dependent on the database and what does happen on the testing system. Don't use them as Benchmark.

Actions #20

Updated by Alexander Opitz over 8 years ago

Unittests

  • PHP 5.6.4-4ubuntu6.2 (cli) (built: Jul 2 2015 15:29:28)
    • Time: 24,39 seconds, Memory: 778,50Mb
    • Tests: 8240, Assertions: 10918, Failures: 1, Skipped: 158, Incomplete: 1.
  • PHP 7.0.0-dev (cli) (built: Sep 28 2015 11:40:46)
    • Time: 17,96 seconds, Memory: 338,00Mb
    • Tests: 8240, Assertions: 10918, Failures: 1, Skipped: 158, Incomplete: 1.
Actions #21

Updated by Benni Mack over 8 years ago

Hey Alexander,

are we PHP7 compliant? I use php7 for my local development now and now problems so far.

Actions #22

Updated by Alexander Opitz over 8 years ago

We are 7 compliant, this Epic is only open for running phpUnit "Benchmarks" till PHP 7.0.0 is released.

Actions #23

Updated by Alexander Opitz over 8 years ago

Hint: System updated to Ubuntu 15.10!

Unittests

  • PHP 5.6.11-1ubuntu3 (cli)
    • Time: 27,16 seconds, Memory: 829,75Mb
    • Tests: 8504, Assertions: 11266, Skipped: 143, Incomplete: 1.
  • PHP 7.0.0-dev (cli) (built: Oct 27 2015 09:30:09) ( NTS )
    • Time: 18,88 seconds, Memory: 352,00Mb
    • Tests: 8504, Assertions: 11243, Skipped: 158, Incomplete: 1.
    • Need to check what to compile to get less skipped ones (like 5.6.11)
Actions #25

Updated by Alexander Opitz over 8 years ago

Unittests

  • PHP 5.6.11-1ubuntu3.1 (cli)
    • Time: 29 seconds, Memory: 826,25Mb
    • Tests: 8473, Assertions: 11153, Skipped: 143, Incomplete: 1.
  • PHP 7.0.1-dev (cli) (built: Nov 2 2015 10:42:45) ( NTS )
    • Time: 19,6 seconds, Memory: 354,00Mb
    • Tests: 8473, Assertions: 11130, Skipped: 158, Incomplete: 1.
Actions #27

Updated by Alexander Opitz over 8 years ago

Unittests

  • PHP 5.6.11-1ubuntu3.1 (cli)
    • Time: 26,07 seconds, Memory: 843,75Mb
    • Tests: 8530, Assertions: 11215, Skipped: 143, Incomplete: 1.
  • PHP 7.0.2-dev (cli) (built: Dec 17 2015 11:50:40) ( NTS )
    • Time: 18,6 seconds, Memory: 360,00Mb
    • Tests: 8530, Assertions: 11192, Skipped: 158, Incomplete: 1.
  • PHP 7.1.0-dev (cli) (built: Dec 17 2015 13:57:35) ( NTS )
    • Time: 18,5 seconds, Memory: 360,00Mb
    • Tests: 8530, Assertions: 11192, Skipped: 158, Incomplete: 1.
Actions #28

Updated by Alexander Opitz over 8 years ago

  • Status changed from In Progress to Resolved

In the big picture, TYPO3 7 LTS works with PHP7. There are (at the moment) 2 nitpicks open, which will be addressed in their issue reports.

All in all, I close this issue now, after posting last benchmarks. Support for PHP 7.1 for TYPO3 7 LTS depends on the release plan of the PHP developer team and how deep this changes will be (should be less backward incompatible as only minor version number will change).

Actions #29

Updated by Alexander Opitz about 8 years ago

Last Update of the Benchmarks, as TYPO3 8 LTS will be PHP >= 7.0.

  • PHP 5.6.11-1ubuntu3.1 (cli)
    • Time: 21,24 seconds, Memory: 804,25Mb
    • Tests: 8144, Assertions: 10684, Skipped: 158, Incomplete: 1.
  • PHP 7.1.0-dev (cli) (built: Feb 15 2016 12:56:35) ( NTS )
    • Time: 15,23 seconds, Memory: 340,00Mb
    • Tests: 8144, Assertions: 10684, Skipped: 158, Incomplete: 1.

Upgrading my Ubuntu packages with http://www.lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu to have PHP56 and PHP7 installed parallel.

  • PHP 5.6.18-3+deb.sury.org~wily+1 (cli)
    • Time: 21,01 seconds, Memory: 805,00Mb
    • Tests: 8144, Assertions: 10684, Skipped: 158, Incomplete: 1.
  • PHP 7.0.3-3+deb.sury.org~wily+1 (cli) ( NTS )
    • Time: 15,59 seconds, Memory: 340,00Mb
    • Tests: 8144, Assertions: 10684, Skipped: 158, Incomplete: 1.
Actions #30

Updated by Riccardo De Contardi over 6 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF