Zend: regler le timeout des connexions MySQL avec pdo_mysql

11Il peut parfois être utile d’augmenter ou de baisser la durée de timeout des connexions MySQL. Par exemple, il peut être intéressant de l’augmenter si certaines de vos requêtes MySQL n’aboutissent pas et si vous obtenez l’erreur « MySQL server went away ».

Ce réglage se fait en passant l’option PDO::ATTR_TIMEOUT (constante de la classe PDO qui vaut 2) au driver pdo_mysql. Cette option marchera aussi pour certains autres pilotes mais sa signification peut différer (avec sqlite par exemple).

Avec Zend, il faut définir cette option lors de la création de l’adapter soit en utilisant Zend_Db::factory soit en créant une nouvelle instance de Zend_Db_Adapter_Pdo_Mysql.

Exemple avec un timeout de 10 secondes en utilisant Zend_Db::factory:

      $driverOptions = array(
          PDO::ATTR_TIMEOUT => 10
      );

      $params = array(
        'host' => '127.0.0.1',
        'port' => '3306',
        'username' => 'user',
        'password' => 'password',
        'dbname' => 'my_db',
        'driver_options' => $driverOptions
      );
      $adapter = Zend_Db::factory('pdo_mysql', $params);

sources/docs:
PDO::setAttribute
documentation Zend_Db_Adapter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

1script.fr : une plateforme française pour les développeurs

logo_1script1script.fr est une plateforme communautaire française pour les développeurs qui souhaitent partager ou vendre leur code. L’objectif principal est de mettre en relation développeurs et acheteurs potentiels. Le projet n’est pas encore achevé mais une bêta-test est disponible et le résultat risque d’être prometteur!

La plateforme permet de partager ou vendre un script de manière simplifiée et propose une large choix de langages et de catégories. Une section CV est également disponible pour se mettre en avant.

Pour les intéressés je vous invite à visiter la bêta-test sur 1script.fr  en utilisant une clé si dessous:

b3a19b6f1498b90e05781778874dd8d6f2211a61
6aa9badac2ca4b68c095568763fb2d065fc2b0b7
8712e0f3fb29fc9d2416a0564471e9f9365fcada
fcac0af3fe6d8a953562997b85a8ba6fb7d6aaf6
c1e3d2cbe45a77de96ed55f96fabda62f52f69e6
0eee120ab864cfce232bbfee50f3a45a1f24c5b8
42a66039d8b7d99bcc3e0714911a150b832009be
c9f3841cc868d201cdcb41d5c4c0c0c34e19af4b
a41ba8b9756495db7d4712f6ac8233503bfb5fe8
759e59104e3068065a1e3417a28307d93bb19185

Attention chaque clé est à usage unique.

Vidéo explicative

Liens utiles

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Compiler et encapsuler Twitter Bootstrap dans un namespace

grunt-logoIl peut parfois être utile d’encapsuler le CSS de Twitter Bootstrap pour par exemple éviter les conflits lorsque l’ont intègre Bootstrap dans un site existant. Cette opération permet en effet d’ajouter un namespace à tous les sélecteurs.

Exemple avec le namespace « bootstrap-styles »:

.bootstrap-styles textarea {
overflow: auto;
}
.bootstrap-styles optgroup {
font-weight: bold;
}

Pour encapsuler bootstrap, il faut compiler le fichier bootstrap.less à l’aide de Grunt.

Installation de Grunt

Installation de Node.js

sudo apt-add-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

Installation de Git

sudo  apt-get install git git-core

Clonage de bootstrap depuis github

git clone https://github.com/twbs/bootstrap.git

Installation de Grunt

sudo npm install -g grunt-cli
cd bootstrap
sudo npm install

Compilation

Editer le fichier bootstrap.less pour ajouter la classe bootstrap-styles autour de tous les imports:

cd less/
vim bootstrap.less

contenu de bootstrap.less

.bootstrap-styles {
// Core variables and mixins
@import "variables.less";
@import "mixins.less";

[...]
// Utility classes
@import "utilities.less";
@import "responsive-utilities.less";
}

Pour compiler le CSS et le Javascript:

grunt dist

Les fichiers compilés se trouveront ensuite dans le dossier dist.

Attention, même les sélecteurs html et body seront préfixés de .bootstrap-styles. Étant donné que les balises html et body sont rarement entourées de balises div dans le code source d’une page web, il faut donc supprimer ou modifier ces deux entrées dans le fichier bootstrap.css

Testé sous Ubuntu 14.04 serveur

sources:

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

WordPress: permettre aux administrateurs d’ajouter du JavaScript dans un widget ou article

Si WordPress est installé en mode « network » ou « multisite », les administrateurs n’ont pas le droit de mettre ce qu’ils veulent (du JavaScript par exemple) dans les articles, pages, commentaires ou widgets texte. Seuls les administrateurs du réseau ont cette capacité.

Dans la doc officielle de WP il est précisé que pour autoriser les utilisateurs à poster des marqueurs HTML ou du JavaScript il faut que le rôle auquel ils sont associés ait la capacité « unfiltered_html ».

Cependant si l’ont fait un test en ajoutant ce bout de code dans le fichier functions.php du thème:

$role = get_role( 'administrator' );//récupération du rôle "administrator"
$role->add_cap( 'unfiltered_html' ); //ajout de la capacité "unfiltered_html"

on se rend compte que cela ne fonctionne pas..

En fouillant un peu pour résoudre mon problème j’ai trouvé ce plugin: WP-Admin-Unfiltered-HTML qui fonctionne très bien.

Attention cependant à ne donner cette capacité qu’à une personne de confiance 😉

source: Documentation WP

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Mémo sur les commandes Git

Cet article est un mémo que je compléterai au fur et à mesure sur les commandes Git.

Connaître depuis quelle URL un projet a été cloné:

git config --get remote.origin.url

ou

git remote show origin

Ignorer les changements de permissions d’accès (chmod):

Permet de ne pas prendre en compte les changements de permission sur les fichiers lors d’un commit.

git config core.fileMode false

sources:

http://stackoverflow.com/questions/4089430/how-can-i-determine-the-url-that-a-local-git-repo-was-originally-cloned-from
http://stackoverflow.com/questions/1580596/how-do-i-make-git-ignore-file-mode-chmod-changes

Une réflexion au sujet de « Mémo sur les commandes Git »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Backbone.js : récupérer l’url de la page précédente

backbone-jsLe bout de code suivant est un exemple de routeur Backbone.js qui permet de récupérer le précédent fragment (ce qu’il y a après #). Ce fragment peut par exemple être utile à des fins analytiques.

var AppRouter = Backbone.Router.extend({

    /*les différentes routes de l'application*/
    routes: {
        "!"                  : "home",
        "!contact"           : "contact",
        "!article/:titre"     : "article"
    },
    initialize: function () {
        this.on("all", this.storeRoute);
        this.history = [];
    },
    /* ajout du fragment courant dans "history" */
    storeRoute: function() {
        return this.history.push(Backbone.history.fragment);
    },
    /* retourne le précédent fragment */
    previous: function(){
        var previous = null;
    	if (this.history.length > 0) {
           previous = this.history[this.history.length -1];
        }
    	return previous;
    },    
    home: function () {
    	/*...*/
    	App.Router.displayPrevious();
    	/*...*/
    },
    article: function(titre){
    	/*...*/
    	App.Router.displayPrevious();
    	/*...*/
    },
    contact: function(){
    	/*...*/
    	App.Router.displayPrevious();
    	/*...*/
    },
    /* affiche le résultat dans la console */
    displayPrevious: function (){
    	console.log(this.previous());    	
    }
});

source: http://stackoverflow.com/questions/17649913/how-to-detect-backbone-history-referer-history-length

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *