View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007383 | OXID eShop (all versions) | 4.05. Performance | public | 2022-11-30 15:10 | 2022-11-30 17:20 |
Reporter | [email protected] | Assigned To | |||
Priority | urgent | Severity | major | Reproducibility | always |
Status | resolved | Resolution | open | ||
Product Version | 6.5.0 | ||||
Target Version | 7.0.0-rc.2 | Fixed in Version | 7.0.0-rc1 | ||
Summary | 0007383: error_reporting Einstellung in php.ini hat keinen Effekt, Logfiles laufen über | ||||
Description | Hier https://docs.oxid-esales.com/eshop/de/6.5/installation/neu-installation/server-und-systemvoraussetzungen.html#php schreiben sie: Bemerkung: Für den Betrieb von PHP 8 wird dringend empfohlen, das error_reporting von PHP auf error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_DEPRECATED zu setzen, da Sie sonst eine Vielzahl von Warnungen erhalten werden. Das habe ich umgesetzt: error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_DEPRECATED & ~E_STRICT Nun ist es aber so, dass in vendor/oxid-esales/oxideshop-ce/source/Core/ShopControl.php die Funktion _getErrorReportingLevel() immer den Loglevel auf (E_ALL ^ E_NOTICE ^ E_DEPRECATED) setzt. Diese wird von _runOnce() aufgerufen und dort wird dann error_reporting($this->_getErrorReportingLevel()); gesetzt. Dass führt unter PHP 8.1 zu extrem vielen Warnings mit Stacktraces. Das Setting aus der php.ini sollte mit in Betracht gezogen werden. | ||||
Tags | No tags attached. | ||||
Theme | All | ||||
Browser | Not defined | ||||
PHP Version | 8.1 | ||||
Database Version | MySQL 5.7 | ||||
|
Hallo, das beschriebene Verhalten wurde bereits geändert, kommt jedoch erst mit dem Release von OXID eShop 7, da es Breaking Changes mit sich bringt. Hierzu der Eintrag im Changelog: https://github.com/OXID-eSales/oxideshop_ce/blob/b-7.0.x/CHANGELOG.md#:~:text=Resetting%20the%20PHP%20error_reporting()%20level%20in%20the%20ShopControl Aktuell muss die ShopControl erweitert werden, um so die Funktion _getErrorReportingLevel zu ersetzen oder übergangsweise mittels Composer Patch die Stelle angepasst werden. Hierzu gibt es eine Anleitung in unserem Technical Blog: https://forum.oxid-esales.com/t/applying-patches-to-oxid-eshop-projects-with-composer/95549 Ich möchte noch darauf hinweisen, dass in unserem Bugtracker Einträge bitte immer auf englisch gemacht werden. [sp] |