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

MM_XSLTransform error on upgrade of PHP to 7.3

New Here ,
Apr 27, 2019 Apr 27, 2019

Copy link to clipboard

Copied

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

Views

782

Translate

Translate

Report

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

Votes

Translate

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

Copy link to clipboard

Copied

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, the only real Dreamweaver alternative.

Votes

Translate

Translate

Report

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

Copy link to clipboard

Copied

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;

}

Votes

Translate

Translate

Report

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

Copy link to clipboard

Copied

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
Alt-Web Design & Publishing ~ Web : Print : Graphics : Media

Votes

Translate

Translate

Report

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

Copy link to clipboard

Copied

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

Votes

Translate

Translate

Report

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