Je reçois cette erreur PHP:
Erreur d'analyse: erreur de syntaxe, inattendu T_VARIABLE
De cette ligne:
$list[$i][$docinfo['attrs']['@groupby']] = $docinfo['attrs']['@count'];
Y a-t-il un problème avec cette ligne?
Il se peut qu'un point-virgule ou un crochet manque une ligne avant votre ligne collée. Cela me semble correct, chaque chaîne est autorisée en tant qu'index de tableau.
Cela pourrait être une autre ligne aussi, PHP n’est pas toujours aussi exact.
Il vous manque probablement un point-virgule sur la ligne précédente.
Comment reproduire cette erreur, placez-le dans un fichier appelé a.php
:
<?php
$a = 5
$b = 7; //error happens here.
print $b;
?>
Exécuter:
eric@dev ~ $ php a.php
PHP Parse error: syntax error, unexpected T_VARIABLE in
/home/el/code/a.php on line 3
Explication:
L'analyseur PHP convertit votre programme en une série de jetons. Un T_VARIABLE
est un jeton de type VARIABLE. Lorsque l'analyseur traite les jetons, il essaie de les comprendre et génère des erreurs s'il reçoit une variable où aucune n'est autorisée.
Dans le cas simple ci-dessus avec la variable $b
, l'analyseur a tenté de traiter ceci:
$a = 5 $b = 7;
L'analyseur php regarde le $ b après le 5 et dit "c'est inattendu".
Dans mon cas, il s'agissait de la version PHP.
Le fichier .phar que j'utilisais n'était pas compatible avec PHP 5.3.9. Changer d’interprète vers PHP 7 a résolu le problème.