J'ai récemment migré mon module vers Drupal7 (avec la version PHP 5.3.1) et j'obtiens maintenant les erreurs suivantes :
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->load() (line 178 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->load() (line 178 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->load() (line 178 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->cacheGet() (line 354 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->load() (line 178 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->cacheGet() (line 354 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->load() (line 178 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
* Warning: array_flip() [function.array-flip]: Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->cacheGet() (line 354 of C:\Users\akulkarni\Desktop\xampp\htdocs\servicecasting\includes\entity.inc).
J'ai également essayé de mettre à jour les autres modules et le noyau vers les dernières versions, comme indiqué ici. http://drupal.org/node/1022736
entité 7.x-1.x-dev (2011-Jan-24), views 7.x-3.x-dev (2011-Jan-22), Drupal core 7.x-dev (2011-janvier-24), profile2 7.x-1.0-beta1, references 7.x-2.x-dev (2011-jan-14), ctools 7.x-1.0-alpha2
Je ne parviens pas à comprendre ce qui cause exactement cette erreur ?
Edit :
Selon http://php.net/manual/en/function.array-flip.php ,
array_flip() retourne un tableau dans un ordre inversé, c'est-à-dire que les clés de trans deviennent des valeurs et les valeurs de trans deviennent des clés.
Notez que les valeurs de trans doivent être des clés valides, c'est-à-dire qu'elles doivent être des entiers ou des chaînes de caractères. Un avertissement sera émis si une valeur valeur n'est pas du bon type, et la paire clé/valeur en question ne sera pas ne sera pas inversée.
J'ai fait le var_dump($ids);
avant la ligne 178 dans entity.inc ( $passed_ids = !empty($ids) ? array_flip($ids) : FALSE;
)
Et il me semble que la paire clé/valeur est toujours au bon format ( ?).
array
0 =>
array
'nid' => string '6' (length=1)
array
0 =>
array
'uid' => string '1' (length=1)
array
0 => string '0' (length=1)
array
0 =>
array
'nid' => string '7' (length=1)
array
0 =>
array
'nid' => string '4' (length=1)
array
0 =>
array
'nid' => string '8' (length=1)
0 votes
Avez-vous migré votre module ou votre site vers Drupal 7 ? Si c'est un module personnalisé, où se trouve le code ? Vous devriez également essayer de désactiver les modules jusqu'à ce que les avertissements disparaissent pour réduire le problème. Quelque chose donne les mauvais paramètres.
0 votes
Oui, j'ai migré mon module vers Drupal 7. Mais l'erreur se trouve dans le fichier entity.inc qui est un fichier de base de Drupal 7.
1 votes
En ce qui concerne la sortie var_dump ci-dessus : Non, dans la paire clé/valeur, il y a no dans le format correct. La fonction array_flip permet de retourner un tableau de la manière suivante
array(0 => 'a')
mais pasarray(0 => array(0 => 'a'))
car le tableau imbriqué devrait devenir la clé du tableau.