Merge pull request #19200 from eileenmcnaughton/act_contact
[civicrm-core.git] / CRM / Utils / XML.php
index 278ca494c3afb963c41af31d416aaad41c815c27..47619c1c6a5a13eca6554b2e2389a744adadf97e 100644 (file)
@@ -36,9 +36,10 @@ class CRM_Utils_XML {
       $oldLibXMLErrors = libxml_use_internal_errors();
       libxml_use_internal_errors(TRUE);
 
-      $xml = simplexml_load_file($file,
-        'SimpleXMLElement', LIBXML_NOCDATA
-      );
+      // Note that under obscure circumstances calling simplexml_load_file
+      // hit https://bugs.php.net/bug.php?id=62577
+      $string = file_get_contents($file);
+      $xml = simplexml_load_string($string, 'SimpleXMLElement', LIBXML_NOCDATA);
       if ($xml === FALSE) {
         $error = self::formatErrors(libxml_get_errors());
       }