‘PHP’ Category Archives
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 :
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.
avr
php symfony : un peu de lecture
by Mushiro in Informatique, PHP, symfony
juin
Diplôme Certification Zend PHP5
by Mushiro in PHP
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.


