Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preparation for the release of PHP 8 #1552

Closed
MarkBaker opened this issue Jun 26, 2020 · 7 comments
Closed

Preparation for the release of PHP 8 #1552

MarkBaker opened this issue Jun 26, 2020 · 7 comments
Labels
pinned pinned issue to avoid them becoming stale

Comments

@MarkBaker
Copy link
Member

MarkBaker commented Jun 26, 2020

This is:

- [ ] a bug report
- [X] a feature request
- [ ] **not** a usage question (ask them on https://stackoverflow.com/questions/tagged/phpspreadsheet or https://gitter.im/PHPOffice/PhpSpreadsheet)

Travis template needs updating to run against PHP 8 nightly builds once it reaches a stable point (feature freeze) so that we know all functionality will still work with the new version. Initially this should be an "allow fail", giving us a chance to resolve any issues that may be identified without breaking the build.

Also requires updates to composer.json and related dependencies to ensure that they are all at appropriate versions for running with PHP 8.

@MarkBaker MarkBaker pinned this issue Jul 5, 2020
@MarkBaker MarkBaker added the pinned pinned issue to avoid them becoming stale label Jul 15, 2020
@flavioheleno
Copy link

If you don't mind, I'd like to give it a shot. :-)

@flavioheleno
Copy link

flavioheleno commented Oct 8, 2020

Tasks:

  • Update .travis.yml to include nightly
  • Update composer.json PHP requirement to ^7.2 || ^8.0
  • Update markbaker/complex to ^2.0
  • Update markbaker/matrix to ^2.0
  • Update phpunit/phpunit to ^8.5 || ^9.3

Deprecations:

Pending:

@flavioheleno flavioheleno mentioned this issue Oct 8, 2020
5 tasks
@MarkBaker
Copy link
Member Author

MarkBaker commented Oct 11, 2020

Currently all tests are now passing against the nightly PHP8 build (pdf tests are skipped until those libraries are version ready to run under PHP8)... biggest problem is tcPDF, which is no longer supported, and its successor library tc-lib-pdf is still "under development", and not yet ready for release. Surprisingly, mPDF still runs against PHP8 without any issues; but we may need to change recommendations or the PDF adaptors later as these libraries are modified for PHP8

@MarkBaker
Copy link
Member Author

MarkBaker commented Oct 11, 2020

Next phase of this work is assessing the argument names in public methods to ensure that they are appropriate and meaningful for use as PHP8 named arguments; but that work can all be done with normal PRs against the master branch

@misterakko
Copy link

Hope this helps... I see this when running PHP 8.0.0

Fatal error: Uncaught TypeError: Unsupported operand types: string % int in PhpSpreadsheet/Cell/Coordinate.php:302 Stack trace: #0 PhpSpreadsheet/Worksheet/Worksheet.php(1518): PhpOffice\PhpSpreadsheet\Cell\Coordinate::stringFromColumnIndex() #1 /var/www/sarat1230b2/sar-el_utilities.inc.php(299): PhpOffice\PhpSpreadsheet\Worksheet\Worksheet->getStyleByColumnAndRow() #2 /var/www/sarat1230b2/masterUsers.php(72): QueryAndExport() #3 {main} thrown in PhpSpreadsheet/Cell/Coordinate.php on line 302

@keradus
Copy link

keradus commented Jan 19, 2021

you can now update PHP CS Fixer to v2.18+ that supports v8

@MarkBaker MarkBaker unpinned this issue Jan 26, 2021
@ccimmo
Copy link

ccimmo commented Jun 21, 2021

". Surprisingly, mPDF still runs against PHP8 without any issues; but we may need to change recommendations or the PDF adaptors later as these libraries are modified for PHP8"

Mpdf does not write drawings/charts... phpspreadsheet output the right excel sheet with all drawing (writer\xlsx) but when running new \Phpoffice\phpspreadsheet\Writer\Pdf\Mpdf, the pdf is created without drawings...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pinned pinned issue to avoid them becoming stale
Development

No branches or pull requests

5 participants