У меня есть приложение, которое я пишу на PHP5, с использованием инфраструктуры CodeIgniter.
У меня он работает на Windows (с использованием Xampp) и Ubuntu (с использованием стандартного Apache, PHP, стек MySQL).
У меня есть форма, которая принимает XML, анализирует его (используя simpleXML) и отправляет результаты в базу данных.
В Windows - без проблем, работает как задумано.
В Linux - большая проблема. Это ошибки.
Я дважды проверил XML, и все нормально.
Я удалил большое количество XML, и кажется, что все в порядке.
Я думаю, что это связано с размером строки XML, отправляемой из формы, но я не уверен. Опять же, в Windows все нормально, в Linux - ошибки.
Размер данных, публикуемых в форме, составляет ~ 160 КБ (да, это много текста, но он автоматизирован - И в конечном итоге он составит около 200 КБ).
Ошибка ниже.
Любая помощь высоко ценится.
Неустранимая ошибка: необработанное исключение «Исключение» с сообщением «Строка не может быть проанализирована как XML» в /var/www/ci/system/application/controllers/system.php:49 Трассировка стека: # 0 / var / www /ci/system/application/controllers/system.php(49): SimpleXMLElement -> __ construct ('') # 1 [внутренняя функция]: 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} добавляется в /var/www/ci/system/application/controllers/system.php в строку 49
Строка 49 выглядит так:
$xml = new SimpleXMLElement($this->input->post('form_systemXML'));
РЕДАКТИРОВАТЬ - ИСПРАВЛЕНО
Нашел проблему. Suhosin установлен на Ubuntu. в файле /etc/php5/apache2/conf.d/suhosin.ini я включил строку suhosin.post.max_value_length = 65000
и изменил значение на 195000. Перезапустил Apache, и все хорошо. Спасибо за указатели, ребята.