View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0020318 | phpList 3 application | phpList | public | 10-01-21 18:18 | 15-02-21 11:47 |
Reporter | doc75 | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | resolved | Resolution | fixed | ||
Product Version | 3.5.1 | ||||
Target Version | 3.5.9 | Fixed in Version | 3.6.1 | ||
Summary | 0020318: PHP 8.0 support (PHPList 3.5.9) ? | ||||
Description | Sorry if the bug report is not fully correct, this is my first contribution here. I am running a PHPList instance on docker without any problem for months under PHP 7.3. I tried to migrate to PHP 7.4 without any problem. But when trying with PHP 8.0 all the pages (main page or admin page) are blank. I activated the PHP errors but nothing is shown. It might be my installation, but coudl anyone confirm if PHPList 3.5.9 support PHP 8.0 or not ? | ||||
Tags | No tags attached. | ||||
related to | 0020333 | new | PHP 8.0 - admin page blank (tested with 3.6.1) |
|
Interesting. I haven' t tried that yet. I see if I can find some time to look into it. |
|
which docker image are you using? When I try eg php:8.0-apache and I check the image, the PHP modules still reference PHP7.3 So, I don' t think there's an image yet with the correct requirements for phpList, like mysqli and imap. I guess we may need to wait a little before that's ready |
|
Ok, I rebuilt my own image with PHP8.0 and I can see the blank screen. I'll work it out. |
|
Great that you can reproduce... I am using an alpine based image I made. In case you want me to test once you have found something, let me know. |
|
Ok, this will fix it: https://github.com/phpList/phplist3/pull/727 @duncanc the XML parser has changed in PHP8, that may affect the RSS plugin I had to disable the RSS feed fetching from the community site for now https://www.php.net/manual/en/function.phpversion.php xml_parser_create() and xml_parser_create_ns() will now return an XMLParser object rather than a resource. The xml_parser_free() function no longer has an effect, instead the XMLParser instance is automatically destroyed if it is no longer referenced. |
|
@doc75 that sounds great, an alpine based image. If you can create a PR for https://github.com/phpList/phplist-docker that would be brilliant. I haven't had time yet to get it working from alpine, but that would be great to add. |
|
Thanks for the notification. The RSS Feed plugin uses a library which has a different approach. It uses the DOM interface which doesn't appear to be affected by this change. Looking at https://php.watch/articles/resource-object#resource-php80 it appears that the change from resource to object should be fairly transparent. I think the problem with onyx-rss might simply be that it checks that the function xml_parser_create() returns a resource which is no longer the case. Searching for "is_resource" within the phplist code tree throws a few other occurrences that may be affected the phpmailer SMTP socket connection the PEAR HTTP Request2 class that is used as a fallback when curl is not available the KCfinder image browser within the ckeditor plugin |
|
Hmm, it looks like more things break. I just tried the CSV import and it doesn't work on PHP8 |
|
@michiel, I checked how you are doing the images in phplist-docker and indeed they seems to be all in one. On my side the alpine image i designed is a standalone php-fpm one which require containers for mariadb and an NGINX reverse proxy (or Apache) as well as a mail server somewhere (managed separately in my case). Not sure if it fits with your way of working. If you are interested let me know and we can continue the discussion on a github issue to see how to move forward. |
|
Yes, that is interesting. I do split out the images into a DB one and a mail one. I use docker-compose to link them all together, but the phpList image is only phpList. However, I use debian as the base image to work from an not alpine, so starting from alpine would help reduce the size of the image https://github.com/phpList/phplist-docker/blob/master/phplist/Dockerfile#L2 Yes, we can continue discussion on a Github issue. I've started this one https://github.com/phpList/phplist-docker/issues/11 |
|
I'm closing this ticket. I think I've sorted out most issues with PHP8, which was the original subject of this ticket. I haven't gone through everything, so some may still show up, but in general it should now work fine in PHP8. Version 3.6.1 which is due shortly should be PHP8 compatible. And the Docker issue that spun out from here, can be handled on Github. |
|
This was fixed with this PR https://github.com/phpList/phplist3/pull/727 Closing this issue. |