J'ai une application que j'écris en PHP5, en utilisant le framework CodeIgniter. Je l'ai exécuté sur Windows (en utilisant Xampp) et Ubuntu (en utilisant Apache standard, PHP, pile MySQL).PHP SimpleXML, CodeIgniter et Apache avec Suhosin
J'ai un formulaire, qui prend XML, l'analyse (en utilisant simpleXML) et publie les résultats dans une base de données.
Sous Windows - pas de problème, fonctionne comme prévu.
Sous Linux - gros problème. Il a des erreurs.
J'ai vérifié le code XML, et ça va. J'ai supprimé une grande partie du code XML, et il semble que ce soit OK.
Je pense que c'est lié à la taille de la chaîne XML affichée à partir du formulaire, mais je ne suis pas sûr. Encore une fois, sous Windows, c'est OK - sous Linux, il y a des erreurs.
La taille des données affichées dans le formulaire est ~ 160k (oui, c'est beaucoup de texte, mais il est automatisé - ET il sera finalement d'environ 200k).
L'erreur est ci-dessous.
Toute aide très appréciée.
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /var/www/ci/system/application/controllers/system.php:49 Stack trace: #0 /var/www/ci/system/application/controllers/system.php(49): SimpleXMLElement->__construct('') #1 [internal function]: System->add_system() #2 /var/www/ci/system/codeigniter/CodeIgniter.php(233): call_user_func_array(Array, Array) #3 /var/www/ci/index.php(115): require_once('/var/www/ci/sys...') #4 {main} thrown in /var/www/ci/system/application/controllers/system.php on line 49
ligne 49 se présente comme suit:
$xml = new SimpleXMLElement($this->input->post('form_systemXML'));
EDIT - FIXES
trouvés la question. Suhosin est installé sur Ubuntu. dans le fichier /etc/php5/apache2/conf.d/suhosin.ini, j'ai activé la ligne suhosin.post.max_value_length = 65000
et changé la valeur à 195000. Redémarré Apache, et tout bon. Merci pour les pointeurs les gars.
Merci l'homme - l'a trouvé et tout bon. –
Le ferais - si j'avais la réputation de pouvoir ... –