juillet 2nd, 2010 — Categories : php, symfony
Coté serveur web
Il faut soit créer des virtual host pour tous vos sous-domaine.
Soit créer un seul virtual host en utilisant des wildcards dans le ServerAlias, du coup tous les sous-domaines pourraient correspondre à une application, plus besoin de créer autant de virtual hosts que de sous-domaine. Il doit même être possible d’utiliser les wildcards dans la déclaration du domaine dans le gestionnaire de dns.
ServerName domain.tld
ServerAlias *.domain.tld
Coté symfony
Il faut renommer le fichier web/index.php en web/frontend.php
Puis re-créer le fichier web/index.php en y mettant le code qui permettra de choisir l’application
en fonction du sous domaine.
Voici un exemple, il suffit de modifier le switch() pour l’adapter à vos besoins :
require_once(dirname(__FILE__).'/../config/ProjectConfiguration.class.php');
// Trouve le sous-domaine
list($subdomain, $domain, $tld) = explode('.', $_SERVER['HTTP_HOST']);
// En deduit l'application
switch($subdomain)
{
case "documentation":
$app = "documentation";
break;
default:
$app = "frontend";
break;
}
$configuration = ProjectConfiguration::getApplicationConfiguration($app, 'prod', false);
sfContext::createInstance($configuration)->dispatch();
février 26th, 2010 — Categories : multitache, php
Pour les besoins d’un projet effectuant un grand nombre de tâches répétitives, j’ai dû mettre en place un système basé sur un script PHP lancé par cron à intervalles réguliers. Il n’y a aucune difficulté particulière à réaliser ceci, là où ça commence à être intéressant c’est à partir du moment où il a fallu que ce script puisse lancer plusieurs tâches en même temps.
On a donc un script lancé à intervalles réguliers qui lui même va lancer et gérer un certain nombre, configurable, de tâches concurrente. Voici comment j’ai procédé.
Lire la suite →
février 4th, 2010 — Categorie : php
C’est pas moi qui le dit, c’est PHP.
La preuve :
Voir ça sur codepad
mars 24th, 2009 — Categories : magento, php
Magento est un système de commerce électronique assez complexe à appréhender, il est bien mieux organisé que le vieillissant Oscommerce et peut être modifié à souhait grâce à une architecture bien pensée, basée sur Zend Framework mais qui demande quand même assez de temps pour s’y habituer. Je vous propose dans ce billet de voir comment faire pour ajouter et enlever des produits du panier de façon automatique.
Lire la suite →
octobre 7th, 2008 — Categories : debug, php
PHP 5.3 à plein de nouvelles fonctionnalités à explorer, autant en profiter pour entrer dans le détail mettre en place un environnement de développement complet comprenant un profiler et un debugger.
Lire la suite →
août 23rd, 2008 — Categories : nano, php
Pour les besoins de Nano, notre framework PHP, JP et moi avons réalisé un système de d’abonnement et de gestion d’évènements à des objets.
Lire la suite →
avril 7th, 2008 — Categories : apache, php
Dans un article précédent, j’expliquais comment installer PHP6 en module module Apache. Maintenant je vais vous montrer comment installer PHP5 et PHP6 en même temps.
Lire la suite →
septembre 17th, 2007 — Categories : apache, php
PHP4 ne sera plus plus supporté d’ici un an laissant la place à PHP5 alors que la version 6 commence à montrer le bout de son nez. Voici comment installer cette derniere version sur un serveur Ubuntu pour effectuer quelques tests.
Lire la suite →
mai 22nd, 2007 — Categorie : php
Si vous développez des applications web en PHP vous avez sûrement déjà eu besoin de protéger vos scripts contre les modifications. Si vous ne voulez pas, par exemple, qu’un client utilise votre travail sur plusieurs sites alors que vous lui avez permis d’utiliser votre script que sur un seul site. Voici un moyen simple et relativement efficace d’empêcher la copie sauvage. Sources et explications fournies :
Lire la suite →
janvier 16th, 2007 — Categories : nano, php
Dans un précédent billet j’ai présenté l’architecture et la mise en place de ma classe d’accès à une base de données mySQL. Il est temps de voir comment utiliser cette classe, c’est le but de ce billet.
Lire la suite →