Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

MM_XSLTransform error on upgrade of PHP to 7.3

New Here ,
Apr 27, 2019 Apr 27, 2019

I have had to upgrade to PHP 7.3

I have had a site running quite happily using PHP 5.4

Now getting the error

MM_XSLTransform error.

The server could not perform the XSL transformation because an XSLT processor for PHP could not be found. Contact your server administrator and ask them to install an XSLT processor for PHP.

Any suggestions please where to start looking for a solution.

Many thanks

Richard

987
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Apr 27, 2019 Apr 27, 2019

It looks like you have an xml data feed which needs php_xsl.dll to be activated in the php.ini file.

See xml-data-feed/MM_XSLTransform.class.php at master · les113/xml-data-feed · GitHub and [Solved] Fatal error: Class 'XSLTProcessor' not found

Translate
Community Expert ,
Apr 27, 2019 Apr 27, 2019

It looks like you have an xml data feed which needs php_xsl.dll to be activated in the php.ini file.

See xml-data-feed/MM_XSLTransform.class.php at master · les113/xml-data-feed · GitHub and [Solved] Fatal error: Class 'XSLTProcessor' not found

Wappler is the DMXzone-made Dreamweaver replacement and includes the best of their powerful extensions, as well as much more!
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
May 01, 2019 May 01, 2019

Thank you for your reply - sorry for the delay in responding.

I got confirmation from the hosting company that php_xsl has been activated in the php.ini - I was told that it was the default set up.

I asked the hosting company to revert to php 5.6, which they did and without any modification my end - the web site is fine. I must move to 7.3 - requirement of the hosting company so the problem is still there.

I notice in the included file MM_XSLTransform.class.php  (// MM_XSLTransform version: 0.6.4) the code 'function checkProcessor()'

There is no test for version 7 - is this the problem?

Is there another later version - I can't seem to upgrade it using Dreaweaver cc?

Or does anyone know a modification to required for this?

Or am I looking in completely the wrong place?

This might explain ​the error message The server could not perform the XSL transformation because an XSLT processor for PHP could not be found.

Richard

function checkProcessor() {

  $extensions = get_loaded_extensions();

  if (substr(PHP_VERSION, 0, 1) == '5') {

   if ( in_array('dom', $extensions) && in_array('xsl', $extensions) && class_exists('DOMDocument') && class_exists('XSLTProcessor') ) {

    $this->processor = 'domxml5';

    return;

   }

  }

  if (substr(PHP_VERSION, 0, 1) == '4' && substr(PHP_VERSION, 2, 1) > '2') {

   if ( in_array('xslt', $extensions) && function_exists('xslt_create')) {

    $this->processor = 'sablotron';

    return;

   }

   if ( in_array('domxml', $extensions) && function_exists('domxml_open_mem') && function_exists('domxml_xslt_stylesheet') ) {

    $this->processor = 'domxml4';

    return;

   }

  }

  if (substr(PHP_VERSION, 0, 1) == '4' && substr(PHP_VERSION, 2, 1) < '3') {

   if ( in_array('xslt', $extensions) && function_exists('xslt_create')) {

    $this->processor = 'sablotron';

    return;

   }

  }

  $this->processor = 'undefined';

  $this->setError($this->getErrorFromCode('MM_NO_PROCESSOR_ERROR'));

  return;

}

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
May 01, 2019 May 01, 2019

You have reached that fork in the developer's road that we all dread sooner or later.  Those old Macromedia scripts are outdated.  It's time to rebuild your site with modern code or find a web host who is willing to let you stay on PHP 5.6 forever. 

See links below for modern server-side development tools.

Nancy O'Shea— Product User, Community Expert & Moderator
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Aug 17, 2019 Aug 17, 2019
LATEST

After some investigation I found a solution to the problem, Should anyone have the same problem is relatively simple to resolve.

My dynamic pages use an xml file to hold the data and php file using XLST to extract it and display the contents.

Dreamweaver provided via the MM_XSLTransform include the ability to use statements such as <xsl:value-of select =  . . . to obtain and display the XML data. This failed in the move from php 5.3 to 7.3

The solution is to use the PHP 7 XML Parsers - with very simple php statements which make it straightforward and made conditional functionality that I always wanted very simple to achieve. Hope that helps.

https://www.w3schools.com/php7/php7_xml_parsers.asp

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines