Skip to content

Instantly share code, notes, and snippets.

It doesn't take very much to get Symphony running on your server, and most commercial hosts easily meet the minimum requirements:

  • PHP 5.2 or above
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.0 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent
Optional Server Capabilities

The following are not required to run Symphony, but will help you take advantage of some of the system's more advanced features. Both are fairly widely supported, so chances are your server is already good to go.

@brendo
brendo / package.sh
Created March 28, 2014 23:51
Symphony Build Script
#!/bin/bash
DOZIP=false
DODELETE=false
DODOCS=false
while getopts "v:zrd" opt; do
case $opt in
v)
VERSION=$OPTARG
@brendo
brendo / SymphonyArchitecture.md
Created April 13, 2014 06:12
Symphony Architecture

Symphony

Symphony's architecture was first concieved back in the 2000's and it's now starting to show it's age. While the architecture works, and works quite well for simple sites, and those that don't need heavy integration, it starts to have obvious flaws and gaps when trying to use it in a more modern way.

Back in 2009, cloud hosting was in it's infancy, PHP frameworks were few and far between and PHP itself was not as powerful and natural as it is today.

It's time to rethink the architecture, and think about how it should be in 2014.

Flaws

// Original
PayPal\Core\PPHttpConnection: Connecting to https://api.sandbox.paypal.com/v1/payments/payment/PAY-3R545450RU530944LKNVWV3I
PayPal\Core\PPHttpConnection: Payload
PayPal\Core\PPHttpConnection: Adding header Content-Type: application/json
PayPal\Core\PPHttpConnection: Adding header User-Agent: PayPalSDK/rest-sdk-php 0.6.0 (lang=PHP;v=5.5.12;bit=64;os=Darwin_13.1.0;machine=x86_64;openssl=0.9.8y;curl=7.30.0)
PayPal\Core\PPHttpConnection: Adding header Authorization: Bearer rHgQ9VP9mNc-c8l5LpibstMVNKd4dkBUa2FW1K-bD.Y
PayPal\Transport\PPRestCall: {"id":"PAY-3R545450RU530944LKNVWV3I","create_time":"2014-05-08T11:30:53Z","update_time":"2014-05-08T11:30:53Z","state":"created","intent":"sale","payer":{"payment_method":"paypal","payer_info":{"shipping_address":{}}},"transactions":[{"amount":{"total":"64.95","currency":"AUD","details":{"subtotal":"64.95"}},"description":"Test: Superb Clean","item_list":{"items":[{"name":"2 Bedroom 1 Bathroom Mini Deluxe: Vacuum all carpets Mop and clean all floors Thoroughly
@brendo
brendo / patch.sql
Created July 5, 2014 12:38
Symphony 2.4 default workspace zip hotfix
ALTER TABLE `tbl_fields_date` CHANGE `pre_populate` `pre_populate` varchar(80) COLLATE utf8_unicode_ci DEFAULT NULL;
diff --git a/symphony/lib/core/class.databasesessionhandler.php b/symphony/lib/core/class.databasesessionhandler.php
index 5a4d517..6d480a5 100644
--- a/symphony/lib/core/class.databasesessionhandler.php
+++ b/symphony/lib/core/class.databasesessionhandler.php
@@ -88,7 +88,7 @@ class DatabaseSessionHandler implements SessionHandlerInterface
"DELETE
FROM `tbl_sessions`
WHERE `session` = '%s'",
- $this->database->cleanValue($session_id)
+ $this->database->cleanValue($key)
@brendo
brendo / test.php
Last active August 29, 2015 14:15
Symfony Routing bug?
<?php
require __DIR__ . '/vendor/autoload.php';
use Symfony\Component\Routing\Route;
use Symfony\Component\Routing\RouteCollection;
$masterRoutes = new RouteCollection();
$routesA = new RouteCollection();
#!/bin/bash
DOZIP=false
DODELETE=false
DODOCS=false
while getopts "v:zrd" opt; do
case $opt in
v)
VERSION=$OPTARG
@brendo
brendo / gist:ac0a813a46e43cd357e4
Created March 19, 2015 03:09
Notes to me on upgrading from Mavericks to Yosemite
  • Remove the httpd.conf file and replace it with the prexisting one
  • Remove the NameVirtualHost setting form the httpd.conf
  • Remove the symlink for authz_host.load from mods-enabled
  • Update the authz_host.load to include: LoadModule authz_core_module /usr/libexec/apache2/mod_authz_core.so (at the top)
  • Remove PHP 5.6, and reinstall with Homebrew
  • Symlink mod_filter ln -s ../mods-available/filter.load filter.load
  • Update deflate.conf and replace the mod_deflate with mod_filter
  • Update status.conf and remove the Order stuff (don't even bother adding it back? Not sure what I'm even using this for)
  • Create a unixd.load file in mods-available with the contents: LoadModule unixd_module /usr/libexec/apache2/mod_unixd.so
  • Symlink this into mods-enabled