我尝试发布很长(10-15MB)的xml
数据。因此,我在开发中增加php.ini
了以下设置:
max_execution_time = 600
max_input_time = -1
memory_limit = 1024M
post_max_size = 5000M
upload_max_filesize = 5000M
default_socket_timeout = 600
但是该php
函数parse_str
似乎仍然崩溃-因为未执行所有以下命令并且页面响应为 0 字节。
我不是真正的 php 大师,谁能给我一个提示如何解决这个问题?
编辑:没有日志,没有响应,apache 错误日志也没有抱怨什么
为什么我使用 parse_str?这不是我的代码:-)
EDIT2:我们使用 CMS 工具,并且我们有一些插件 - 通过查询字符串发送 xml 是解决限制的一种方法。通常 XML 被解析并插入到自定义数据库(不是 CMS 数据库)中。我刚刚插入了一些文件打印来检查发生了什么:
public function upsertItem($oXMLObjectFromExtern="")
{
$bHasError = false;
$iInserted = 0;
$iUpdated = 0;
$iErrors = 0;
$output = "";
$sPostData = file_get_contents("php://input");
// works
$fh = fopen('/var/log/apache2/kic.log', 'w');
fwrite($fh, $sPostData);
parse_str($sPostData, $aPostData);
// does not do anything, no error messages nothing ...
$fh = fopen('/var/log/apache2/kic2.log', 'w');
//fwrite($fh, "jetzt");
fwrite($fh, var_export($aPostData,TRUE));
if(!empty($aPostData['data']) OR is_object($oXMLObjectFromExtern)){
查询字符串的格式如下: op=upsertitem&data=%3Crows%3E%0A%3Crow%3E%0A%3Cft_short_name%.... 更多编码的 xml 数据