Search

Yep.

Hi all. First post here and apologies for resurrecting an ageing thread.

I often do a number of sites for the same company which are hosted on the same cpanel based environment with addon domains being used. Previously, I've built them using Codeigniter which has a very nice feature which lets the developer easily separate the core files from the application files by changing a variable in the index file.

I'm slowly making the migration of a number of sites over to Symphony from Codeigniter but the ability to use the same core files would be great. Having had a quick play it looks like it's not quite as simple as changing a definition in the index file. I've had a quick play with symlinks but it's not something I've got experience with and sadly haven't been able to get it working.

Has anyone else looked deeper into this?

Cheers all!

@james, I am doing exactly this for a few sites. Making it work is as simple as copying the Symphony folder to a shared location (preferably outside of the webroot), then adding the symlink with ln -s /path/to/symphony /webroot/symphony.

Now the only things you'll have that are unique for every installation are its extensions, workspace and manifest directories. This is generally fine, as I don't usually need the same extensions, templates or configuration details for every site.

Huib, does that mean there is only one DB or one for each install/instance of a site using the symlink setup? Just interested to know a little of how this setup works. Thanks.

@creative, cheers for that will give it a try tomorrow!

EDITED: There would be a seperate DB for each site as your DB settings are in manifest/config.php, which would still remain in place. From what I gather, only the links to the symphony folder will be 'rewritten' so your database details will still be referenced from manifest/config.php.

Also creative, how're you finding this setup with Symphony? I've always liked how lean it makes each individual application by having a centrally referenced core set of files and have never had any issues with Codeigniter. Would there be any other considerations when using Symphony?

I'm loving it.

That said, there is one thing in my setup I am not completely happy with, and that's extensions. Symphony breaks when you update the core but forget to update extensions (from 2.2.x to 2.3.x, for example).

Ideally you'd have all the extensions in one place, too, but that clutters the extensions page in your installations pretty badly (depending on the variety of your setups, of course) but it does keep the extensions easily updated (a recursive submodule pull will fix most, then pull the 2.3 branches on the extensions where needed: done!).

So the route you want to take really depends on how different your installs are, and how comfortable you are taking all sites down for a weekend if you set out to update Symphony to a new version:).

Another thing to keep in mind is: sometimes you don't want to update Symphony for a specific client at all. This usually happens when the website is running "just fine" and new features aren't needed until the site is ready for a rebuild.

Something you could try here is to have multiple versions of Symphony in your shared dir (2.2.x and 2.3.x for example) and symlink each website to the version they need. My plan is to implement this strategy, but I haven't gotten around to it yet.

Symlinking to different versions is a great idea! Thanks Huib, James.

I like that idea of different version in a core Symphony folder very much.

Thanks for the heads up regarding extensions. I find it strange they upgrades to the core break the extensions though. Did that likely happen as there was a change in how the extensions hook in to the core? I'd imagine breaking changes like that wouldn't occur too often and only across major releases, for example between 2.2.x and 2.3.x like you mentioned.

Finally got round to chatting with my shared hosting company. Sadly they don't allow symlinks. I still think it would be a good idea to make the link to the Symphony folder configurable.

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