PHP 8.1 issues
jochi44 opened this issue · 3 comments
Contao v4.13.14
CM v1.35.25
PHP v8.1.13
Fresh installation
- create new cm-module (new catalog) in backend
- edit this new cm-module and "create new field" (-> paste at the top)
php-warning in error.log of server:
2022/12/16 13:35:10 [error] 26055#26055: *746064 FastCGI sent in stderr: "PHP message: PHP Warning: Undefined array key "" in /var/www/web/contao413/vendor/alnv/catalog-manager/library/alnv/Toolkit.php on line 159" while reading response header from upstream, client: 00.000.000.000, server: contao413.test.abc, request: "GET /contao?do=catalog-manager&rt=7f7e146ca99.atHwgqrIThDBTyJu9Eg1uqyBb8kUawHuijb0_YVRPHQ.GZLI-v6bDHauOHVevw1c-e_NAoUlBUmI3QCVs9IWeg0-5bXXmPgqZLs-QQ&ref=XKtRWGFY&table=tl_catalog_fields&act=edit&id=4 HTTP/2.0", upstream: "fastcgi://unix:/var/lib/php5-fpm/web63.sock:", host: "contao413.test.abc", referrer: "https://contao413.test.abc/"
Another bug:
- After creating a "new field" create a new record in the appropriate catalog
This leads to this php warning in error.log of server (without even saving the new record):
2022/12/16 20:02:21 [error] 26055#26055: *753731 FastCGI sent in stderr: "PHP message: PHP Warning: Undefined array key 0 in /var/www/web/contao413/vendor/contao/core-bundle/src/Resources/contao/drivers/DC_Table.php on line 4783 PHP message: PHP Warning: Undefined array key 0 in /var/www/web/contao413/vendor/contao/core-bundle/src/Resources/contao/drivers/DC_Table.php on line 4806" while reading response header from upstream, client: 11.111.111.111, server: contao413.test.abc, request: "GET /contao?do=test_module&ref=IvW9nnLR HTTP/2.0", upstream: "fastcgi://unix:/var/lib/php5-fpm/web63.sock:", host: "contao413.test.abc", referrer: "https://contao413.test.abc/"
Another one:
- Create a new field of type "radio menu" with 2 options.
- Create a new record and choose one of the 2 options of the radio menu field.
- Create a new Contao front end module of type "Catalog list view".
- Create a new Contao article and include the module.
- Open the respective page in the frontend.
This leads to the following php warning in the error.log of the server:
2022/12/16 20:36:33 [error] 26055#26055: *755613 FastCGI sent in stderr: "PHP message: PHP Warning: Undefined array key "field_radio_menu" in /var/www/web/contao413/vendor/alnv/catalog-manager/library/alnv/Fields/Radio.php on line 51" while reading response header from upstream, client: 11.111.111.111, server: contao413.test.abc, request: "GET / HTTP/2.0", upstream: "fastcgi://unix:/var/lib/php5-fpm/web63.sock:", host: "contao413.test.abc"
The same error occurs when creating a field of type "Upload".
PHP message: PHP Warning: Undefined array key "" in /var/www/web/contao413/vendor/alnv/catalog-manager/library/alnv/Fields/Upload.php on line 279 PHP message: PHP Warning: Undefined array key "" in /var/www/web/contao413/vendor/alnv/catalog-manager/library/alnv/Fields/Upload.php on line 280 PHP message: PHP Warning: Undefined array key "title" in /var/www/web/contao413/vendor/alnv/catalog-manager/library/alnv/Fields/Upload.php on line 302
Contao: 4.13.15
PHP: 8.1.14
CM 1.32.30
I get an error message when I try to delete catalog entries, for example:
Codefog\HasteBundle\DcaRelationsManager::getRelation(): Argument #2 ($fieldName) must be of type string, int given, called in /xxxxx/vendor/codefog/contao-haste/src/DcaRelationsManager.php on line 61
While debugging I get this message:
request.CRITICAL: Uncaught PHP Exception ErrorException: "Warning: Undefined array key 502" at /xxxxx/vendor/alnv/catalog-manager/library/alnv/CatalogView.php line 710 {"exception":"[object] (ErrorException(code: 0): Warning: Undefined array key 502 at /xxxxx/vendor/alnv/catalog-manager/library/alnv/CatalogView.php:710)"} []
It appears the Catalog Manager is creating DCA entries with fields that are indexed by integers instead of strings, which is not supported.