Beheben eines Fehlers bei einem illegalen Offset
Dieser Artikel bietet eine Lösung für den Fall, dass in Adobe Commerce 2.1 oder höher beim Erstellen eines neuen Produkts in Commerce Admin der Fehler „Illegalen Offset beheben“ angezeigt wird.
Wenn Sie in Adobe Commerce 2.1 oder höher ein neues Produkt in Commerce Admin erstellen, wird möglicherweise der folgende Fehler angezeigt:
Warning: Illegal string offset 'is_in_stock' in [...]/vendor/
magento/module-catalog-inventory/Ui/DataProvider/Product/Form/
Modifier/AdvancedInventory.php on line 87
Detail
Adobe Commerce 2.1 und höher verwenden PHP-Codekommentare im getDocComment
Validierungsaufruf in der getExtensionAttributes
in Magento\Framework\Api\ExtensionAttributesFactory.php
.
Wenn Sie PHP OPcache aktiviert haben (was wir empfehlen), wird dieser Fehler angezeigt, da die OPcache Einstellung opcache.save_comments
standardmäßig deaktiviert ist.
Abhilfe
Suchen Sie zum Beheben des Problems Ihre OPcache-Konfigurationseinstellungen und aktivieren Sie opcache.save_comments
wie folgt:
Schritt 1: Suchen Sie Ihre OP-Cache-Konfiguration
So suchen Sie nach OPcache-Konfigurationseinstellungen:
PHP OPcache-Einstellungen befinden sich normalerweise entweder in php.ini
oder opcache.ini
. Der Speicherort hängt möglicherweise von Ihrem Betriebssystem und der PHP-Version ab. Die OPcache-Konfigurationsdatei kann einen [opcache]
Abschnitt oder Einstellungen wie opcache.enable
aufweisen.
Verwenden Sie die folgenden Richtlinien, um sie zu finden:
- Apache-Webserver:
Bei Ubuntu mit Apache befinden sich die OPcache-Einstellungen normalerweise in php.ini
.
Bei CentOS mit Apache oder Nginx befinden sich die OPcache-Einstellungen normalerweise in /etc/php.d/opcache.ini
.
Wenn nicht, verwenden Sie den folgenden Befehl, um sie zu finden:
$ sudo find / -name 'opcache.ini'
- nginx-Webserver mit PHP-FPM:
/etc/php5/fpm/php.ini
.
Wenn Sie mehr als ein opcache.ini
haben, ändern Sie alle.
Schritt 2: opcache.save_comments
aktivieren
-
Öffnen Sie Ihre OP-Cache-Konfigurationsdatei in einem Texteditor.
-
Suchen Sie
opcache.save_comments
und heben Sie ggf. die Auskommentierung auf. -
Stellen Sie sicher, dass der Wert auf
1
gesetzt ist. -
Speichern Sie Ihre Änderungen und beenden Sie den Texteditor.
-
Starten Sie den Webserver neu:
- Apache, Ubuntu:
service apache2 restart
- Apache, CentOS:
service httpd restart
- nginx, Ubuntu und CentOS:
service nginx restart
- Apache, Ubuntu:
-
Generieren Sie die ID-Konfiguration und alle fehlenden Klassen neu, die automatisch generiert werden können:
$ bin/magento setup:di:compile`