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

  1. Öffnen Sie Ihre OP-Cache-Konfigurationsdatei in einem Texteditor.

  2. Suchen Sie opcache.save_comments und heben Sie ggf. die Auskommentierung auf.

  3. Stellen Sie sicher, dass der Wert auf 1 gesetzt ist.

  4. Speichern Sie Ihre Änderungen und beenden Sie den Texteditor.

  5. Starten Sie den Webserver neu:

    • Apache, Ubuntu: service apache2 restart
    • Apache, CentOS: service httpd restart
    • nginx, Ubuntu und CentOS: service nginx restart
  6. Generieren Sie die ID-Konfiguration und alle fehlenden Klassen neu, die automatisch generiert werden können:

    $ bin/magento setup:di:compile`
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a