gpt4 book ai didi

PHP SimpleXML、CodeIgniter 和 Apache 与 Suhosin

转载 作者:行者123 更新时间:2023-12-04 07:11:37 25 4
gpt4 key购买 nike

我有一个使用 CodeIgniter 框架用 PHP5 编写的应用程序。
我让它在 Windows(使用 Xampp)和 Ubuntu(使用标准 Apache、PHP、MySQL 堆栈)上运行。

我有一个表单,它接受 XML,解析它(使用 simpleXML)并将结果发布到数据库中。

在 Windows 上 - 没问题,按预期工作。

在 Linux 上 - 大问题。它出错了。

我已经仔细检查了 XML,它很好。

我删除了大量的XML,似乎还可以。

我认为这与从表单发布的 XML 字符串的大小有关,但我不确定。同样,在 Windows 上它没问题——在 Linux 上,它会出错。

表单中发布的数据大小约为 160k(是的,这是很多文本,但它是自动化的 - 最终会达到约 200k)。

错误如下。

非常感谢任何帮助。

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



第 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,一切正常。谢谢各位大侠指点。

最佳答案

您似乎正在运行 Suhosin PHP扩展。
请查看配置文档:http://www.hardened-php.net/suhosin/configuration.html .

相关选项似乎是(我从未使用过 Suhosin 扩展):suhosin.post.max_value_length和/或 suhosin.request.max_value_length

关于PHP SimpleXML、CodeIgniter 和 Apache 与 Suhosin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/261534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com