‘PHP’ Category Archives

31
mai

Config PHP par site avec PHP5.3

by Mushiro in PHP

Dans mon billet précédent, je rapportais que l’utilisation de PHP en Fast-CGI (avec Nginx) ne permettait pas l’exploitation des fichiers .htaccess, notamment pour les règles de ModRewrite.

Le fichier .htaccess peut aussi être utilisé pour redéfinir des valeurs de variables de configuration de PHP, avec les directives php_value ou php_flag. Et là aussi en Fast-CGI, ça coince un peu. Ah, vraiment ?

Depuis PHP5.3, il est possible de définir des fichiers ini « utilisateur », à mettre dans le dossier racine de votre projet. J’ai testé ce matin et c’est génial. Pour enclencher le support, il y a deux propriétés dans le php.ini global à modifier :

1
2
3
4
5
6
7
8
9
10
11
;;;;;;;;;;;;;;;;;;;;
; php.ini Options  ;
;;;;;;;;;;;;;;;;;;;;
; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
user_ini.filename = ".user.ini"

; To disable this feature set this option to empty value
;user_ini.filename =

; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
;user_ini.cache_ttl = 300

Et par exemple, on peut avoir un .user.ini contenant :

1
post_max_size = 48M

PHP met ces fichiers en cache (user_ini.cache_ttl), donc vos changements peuvent ne pas être répercutés immédiatement.

Références :

26
mai

csscaffold + Nginx

by Mushiro in PHP, web

J’ai récemment pu enfin tester csscaffold pour un projet PHP symfony. C’est une librairie PHP pour gérer des fichiers CSS « dynamiques » : utilisation de constantes, de fonctions, de « blocs » de propriétés réutilisables dans les déclarations CSS. Le source CSS final est compilé à la demande (avec une gestion de cache).

Il existe un outil qui fait plus ou moins la même chose, mais en ruby : Less. Travaillant à 95% avec PHP, et n’ayant pas envie d’installer Ruby sur mon poste, c’était l’occasion de tester csscaffold.

Pour les fonctionnalités, je vous laisse lire le README sur la page projet github, mais voici quand même un petit exemple tout simple :

1
2
3
4
5
6
7
8
9
@constants {
    borderColor  :#d9d9d9;
    grey           :#666;
}

.monSpan {
    background-color: $grey;
    border: solid 1px $borderColor;
}

Une des solutions proposées pour compiler le css et d’ajouter dans son fichier .htaccess des règles pour ModRewrite (pris du README) :

You can use a .htaccess file to automatically pass any requests to CSS files to Scaffold. You might use something like this:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} \.css$
RewriteRule ^(.+)$ scaffold/index.php?f=%{REQUEST_URI}&%{QUERY_STRING}
</IfModule>

Le souci avec nginx, c’est que les fichiers .htaccess, il s’en fout un peu. Voici donc les lignes à ajouter dans votre déclaration de site, dans le fichier nginx.conf par exemple :

1
2
3
location ~ \.css {
    rewrite ^(/css/(.*\.css))$ /css/scaffold/index.php?d=css&f=$2 last;
}

En gros, ça dit que dès que le navigateur demande un fichier css du dossier « css », ça appelle en fait scaffold (installé dans le dossier css), avec en paramètre le dossier où trouver les css (paramètre d), et le fichier demandé (paramètre f).

Pour mon projet symfony, ça fonctionne bien comme ça. Par contre, je ne pense pas que ça fonctionne avec des sous dossiers dans le dossier css. L’expression régulière sera à modifier dans ce cas.

18
avr

php symfony : un peu de lecture

by Mushiro in Informatique, PHP, symfony

Un peu de lecture ne fera pas de mal…

livres_symfony
livres_symfony
27
juin

Diplôme Certification Zend PHP5

by Mushiro in PHP

Yeah, j’ai reçu mon diplôme pour la certif Zend PHP5. Ça en jette, avec le seal doré. Et il y a même un gros autocollant (je sais pas trop où je pourrais le mettre).

Certification Zend PHP5
Certification Zend PHP5
Autocollant
Autocollant
3
mai

Enfin certifié Zend PHP5 !

by Mushiro in PHP

Ça y est, j’ai enfin passé la certification Zend PHP5, et je l’ai eu ! Les questions ne portaient carrément pas sur les mêmes sujets que j’avais eu dans les examens blancs ( http://www.phparch.com/c/product/vulcan/view), et j’ai bien cru un moment ne pas réussir l’examen.

Je peux maintenant fièrement afficher le logo Zend Certified Engineer.