我创建了一个调用 pdf 文件内容的 Web 服务的函数。网络服务运行良好。
我想当文件太大时就会出现问题。
我可以在另一台服务器上解决同样的问题,但该服务器有同样的错误抛出 memory_limit 并且他的 php 版本是 5.4。 Nusoap 版本是 0.9.5,我通过 composer 的 bundle 使用它。
这个包来自 https://packagist.org/packages/econea/nusoap
,我使用的是 v0.9.6。
在我无法修复错误的服务器中,我使用的是 php 7.0。本服务器Nusoap版本也是0.9.5。
/**
* @param string $docId
* @return string
*/
public function getDocumentFromDocId(string $docId)
{
$client = new \nusoap_client('http://'.$this->ip.'/arcdoc/WebServiceServer.php?wsdl', true);
$response = $client->call('GetDoc', array(
'xxxx1' => 'xxxxxx',
'xxxx2' => base64_encode('xxxxx'),
'xxxx3' => base64_encode("yyyyyyy"),
'xxxx4' => base64_encode($docId)
));
var_dump($response);
return $response;
}
当我var_dump()
内容响应这个响应时:
/var/www/html/project/src/AppBundle/Service/whatever.php:55:boolean false
如果文件大于 6-8M,$response
将为假,但如果文件小于 6-8M 则不是问题。
因此,我可以说 Web 服务在小于 6-8M 的文件中运行良好。
知道为什么我没有得到答案吗?
我正在测试将相同的 pdf 从 9M
减少到 6M
并且效果很好,所以它一定与文件大小有关。就我而言,似乎在 7-9M
时开始表现不佳。
最佳答案
我不确定,但这可能与 PHP 中允许的内存大小有关。只是尝试增加并测试它。您可以从 php.ini
或 .htaccess
(不建议)编辑它。
php.ini
示例:
memory_limit = 256M
.htaccess
示例:
php_value memory_limit 256M
附言您可以更改 256
您需要的任何内存。
关于php - 从网络服务 nusoap 接收 pdf 内容的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52407004/