Vérification fichier de cache vide ou xml erronné

This commit is contained in:
Teddy Cornaut 2019-09-24 08:54:47 -04:00
parent 30850d7a01
commit e1a35d1e1e
1 changed files with 10 additions and 0 deletions

View File

@ -93,6 +93,16 @@ class WsdlDownloader
if ($isRemoteFile || $this->resolveRemoteIncludes) { if ($isRemoteFile || $this->resolveRemoteIncludes) {
$cacheFilePath = $this->cacheDir.DIRECTORY_SEPARATOR.'wsdl_'.md5($wsdl).'.cache'; $cacheFilePath = $this->cacheDir.DIRECTORY_SEPARATOR.'wsdl_'.md5($wsdl).'.cache';
if (file_exists($cacheFilePath)) {
clearstatcache();
$xml = \XMLReader::open($cacheFilePath);
$xml->setParserProperty(\XMLReader::VALIDATE, true);
if (!filesize($cacheFilePath) || !$xml->isValid()) {
unlink($cacheFilePath);
throw new \Exception('There is something wrong with the WSDL file formatting. The file has been deleted from the cache and will be downloaded again on the next request.');
}
}
if (!$this->cacheEnabled || !file_exists($cacheFilePath) || (filemtime($cacheFilePath) + $this->cacheTtl) < time()) { if (!$this->cacheEnabled || !file_exists($cacheFilePath) || (filemtime($cacheFilePath) + $this->cacheTtl) < time()) {
if ($isRemoteFile) { if ($isRemoteFile) {
// execute request // execute request