Search

Hello. I've inherited a website built around Symphony 2.3.6 (with which I have zero experience), and the hosting provider is finally getting ready to deprecate PHP 5.6. Ultimately, I would like to get everything properly current and up to date, but my immediate priority is making the thing functional with PHP 7.1+ in the most-expedient manner possible.

Here are the current extensions in use:

Author Roles 1.2 (Disabled)
CKEditor 1.3.3
Cross-Site Scripting (XSS) Filter 1.2
Date and Time 3.1.1
Debug Devkit 1.2.4
Device Categorizr 1.0.0
Global Resource Loader 1.1
HTML5 Doctype 1.3
Just In Time (JIT) Image Manipulation 1.19
Limit Section Entries 1.1.0
Map Location Field 3.3.0
Markdown Text Formatter 1.17
oEmbed Field 1.8.3
Order Entries 1.10.1
Pages Field 1.5
Profile Devkit 1.3
Select Box Link Field 1.28
Sitemap XML 2.2
Subsection Manager 3.5.1

I'm hoping someone can point me in the right direction here. I've gathered that I'll need to update Symphony to version 2.7.0 or greater, but I also understand that some of the extensions will need to be upgraded to work with newer Symphony versions, while others have been supplanted by different packages, or integrated into Symphony core. I don't have a super-great understanding about how everything fits together right now, and I fear that may be a prerequisite for migrating some of these extensions, hence my desire to get PHP 7.1+ working here with the least disturbance possible!

Thanks in advance for any assistance.

+1 - I am in the same boat. Would love some info on how best to do this.

Symphony itself should be able to go from 2.3.x to 2.7.x directly.

The most fiddly (but manageable) task is to switch from Subsection Manager to Association Interface. There’s information spread here, on github and on gitter.im. A bit of handcraft is needed.

Most important info is here: https://github.com/symphonists/association_field/issues/3

A lot of extensions have PHP 7.x-updates hidden in forks and branches, quite a few are already compatible in their master branches.

You should absolutely work with a copy of the site and try to get that running. I might be able to help if you get stuck somewhere.

Some hints:

HTML5 Doctype

—> not really needed, in your master template you can use:

<xsl:template match="/">
    <xsl:text disable-output-escaping="yes">&lt;</xsl:text>!DOCTYPE html<xsl:text disable-output-escaping="yes">&gt;</xsl:text>
    <html lang="de">

Just In Time (JIT) Image Manipulation

—> use latest 1.x version, 2.x is still broken

Map Location Field

—> needs a Google-API key now, which apparently can only be obtained by entering your payment data … if you already have a key, no problem.

As for unmaintained extensions and PHP 7.x: most of the time the error messages tell you exactly what to do to fix incompatibilities.

You should do all the updating in PHP 5.6 first. If it runs, then switch to PHP 7.x and start fixing the remaining stuff.

HTML5 Doctype

—> not really needed, in your master template you can use:

<xsl:template match="/"> <xsl:text disable-output-escaping="yes">&lt;</xsl:text>!DOCTYPE html<xsl:text disable-output-escaping="yes">&gt;</xsl:text> <html lang="de">

I'm curious, what is your full <xsl:output> in this case?

<xsl:output method="html" encoding="UTF-8" indent="no" />

<xsl:template match="/">

    <xsl:text disable-output-escaping="yes">&lt;</xsl:text>!DOCTYPE html<xsl:text disable-output-escaping="yes">&gt;</xsl:text>

    <html lang="de">
        <head>
        <…>

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details