PHP Erreur de Compilation: “Impossible d'utiliser le vide d'éléments de tableau dans les tableaux”
J'ai un Laravel 5 projet qui est à l'aide de la bepsvpt/secure-en-têtes paquet avec la configuration suivante du fichier:
config/secure-headers.php
<?php
return [
'x-content-type-options' => 'nosniff',
'x-download-options' => 'noopen',
'x-frame-options' => 'sameorigin',
'x-permitted-cross-domain-policies' => 'none',
'x-xss-protection' => '1; mode=block',
/*
* Referrer-Policy
*
* Reference: https://w3c.github.io/webappsec-referrer-policy
*
* Available Value: 'no-referrer', 'no-referrer-when-downgrade', 'origin', 'origin-when-cross-origin',
* 'same-origin', 'strict-origin', 'strict-origin-when-cross-origin', 'unsafe-url'
*/
'referrer-policy' => 'strict-origin-when-cross-origin',
'hsts' => [
'enable' => env('SECURITY_HEADER_HSTS_ENABLE', false),
'max-age' => 15552000,
'include-sub-domains' => false,
],
/*
* Content Security Policy
*
* Reference: https://developer.mozilla.org/en-US/docs/Web/Security/CSP
*
* csp will be ignored if custom-csp is not null.
*
* Note: custom-csp does not support report-only.
*/
'custom-csp' => env('SECURITY_HEADER_CUSTOM_CSP', null),
'csp' => [
'report-only' => false,
'report-uri' => env('CONTENT_SECURITY_POLICY_REPORT_URI', false),,
'upgrade-insecure-requests' => false,
'base-uri' => [
//
],
'default-src' => [
//
],
'child-src' => [
//
],
'script-src' => [
'allow' => [
//
],
'hashes' => [
//['sha256' => 'hash-value'],
],
'nonces' => [
//
],
'self' => false,
'unsafe-inline' => false,
'unsafe-eval' => false,
],
'style-src' => [
'allow' => [
//
],
'self' => false,
'unsafe-inline' => false,
],
'img-src' => [
'allow' => [
//
],
'types' => [
//
],
'self' => false,
'data' => false,
],
/*
* The following directives are all use 'allow' and 'self' flag.
*
* Note: default value of 'self' flag is false.
*/
'font-src' => [
//
],
'connect-src' => [
//
],
'form-action' => [
//
],
'frame-ancestors' => [
//
],
'media-src' => [
//
],
'object-src' => [
//
],
/*
* plugin-types only support 'allow'.
*/
'plugin-types' => [
//
],
],
];
Quand j'essaye d'exécuter l'application (web demande ou php artisan
), j'obtiens l'erreur suivante:
PHP Fatal error: Cannot use empty array elements in arrays in C:\Web\myapp\config\secure-headers.php on line 4
Bien sûr, la ligne 4 du fichier ressemble tout à fait bien!
Quel est le problème ici?
Vous devez vous connecter pour publier un commentaire.
Cette erreur, qui n'est pas documentée, n'importe où je peux trouver en ligne, vient d'avoir deux virgules dans une rangée avec rien entre eux à l'intérieur de la matrice.
Dans mon cas, ce qui est réellement apparue sur la ligne 42 du fichier, pas la ligne 4, comme indiqué par le message d'erreur, ce qui sonne comme un bug dans le compilateur qui identifie le premier élément du tableau à la place de l'emplacement réel de la "vide d'élément de tableau".
[,
J'ai eu le même message d'erreur, tout en pointant à la ligne 2, l'erreur est à la ligne 6.
J'ai passé des heures de dépannage, impuissants, parce qu'il était un familier de code et je ne sais pas quand un supplément de
,
reçu à l'arrière de'available' => $faker->boolean(85),
Il vous suffit de rechercher votre code pour
,,
ou des espaces entre deux virgules, ,
sur la même ligne comme l'a souligné @Moshe Katz.Ce thread est un épargnant de vie.
,,
" est ce n'est pas correct, parce que cette erreur se produira si il y a des espaces entre les virgules.