WooCommerce 5.6 und PHP 8 – Fatal Error bei digitalen Downloads

801 6297
fotografiert von Gabriele Lässer
Only variables can be passed by reference... 
class-wc-download-handler.php on line 532

Hier die Problemstelle:

if ( function_exists( 'apache_setenv' ) ) {
	@apache_setenv( 'no-gzip', 1 ); // phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged, WordPress.PHP.DiscouragedPHPFunctions.runtime_configuration_apache_setenv
}

Mit apache_setenv() werden Umgebungsvariablen neu gesetzt. In der betroffenen Umgebung läuft Apache auf nginx.

Möglicherweise gibt es Unterschiede in der Verfügbarkeit von Modulen.

Der Fehler zeigte sich nach der Umstellung auf PHP 8.0 bei aktueller WordPress- und aktueller WooCommerce-Version. – Im Supportforum war zwar ein vergleichbarer Fall angeführt, allerdings scheinen sich hier die Entwickler nach wie vor keines Problems bewusst.

Hier half also erstmal nur die Rücksetzung auf PHP 7.4.

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable