mardi 8 mars 2011

Doper la memoire et le chargement de fichier via PHP

Toutes les modifications suivantes sont praticables par le biais de 2 méthodes :
- soit via l'édition / modification du fichier /etc/php5/apache2/php.ini
- soit via l'édition / modification du fichier .htaccess a la racine de ton site

Nous allons privilegier la 2nde méthode. Premièrement seul "root" a un accès a /etc/php5/apache2/php.ini et deuxièmement la modification de ce fichier entraine un redémarrage du service web (et seul "root" a egalement cette accréditation).

Donc dans ton fichier .htaccess, modifie / ajoute les informations suivantes :
php_value upload_max_filesize 10M
php_value post_max_size 20M
php_value memory_limit 32M


Sauve! quitte!
Voila..., tu peux, dès à présent, charger des fichiers de 10Mo via ton site internet.

Encore merci à la magie du fichier .htaccess

Comprendre cron...

Le démon crond est le processus qui permet d'exécuter des tâches planifiées automatiquement à des
instants précis prévus à l'avance (date, heure, minute). En général, cron est installé par défaut sur les systèmes, sinon pour l'installer utiliser le programme d'installation de votre distro (aptitude ou yum).
La configuration des entrées de la cron se fait avec le programme crontab (tables de cron). C'est
très facile à comprendre et à utiliser, mais il y'a une syntaxe à respecter.

1 - manipuler crontab :
lister les taches programmées (crons)
root(a)...:~# crontab -l
Creer / Editer / Supprimer les taches programmées (crons)
root(a)...:~# crontab -e
pour tout autre manipulation
root(a)...:~# man crontab

2 - Syntaxe de cron
root(a)...:~# crontab -l
# m h dom mon dow command


chaque ligne se compose de la facon suivante :
m : (minute) codé sur 2 chiffres (de 0 à 59)
h : (hour) codé sur 2 chiffres (de 0 à 23)
dom : (day of month) codé sur 2 chiffres (de 1 à 31)
mon : (month) codé sur 2 chiffres (de 1 à 12)
dow : (day of week) codé sur 1 chiffre (de 0 à 6)
command : tâche a executer

# execute /path/to/cmd tous les jours a minuit
0 0 * * * /path/to/cmd


3 - Quelques astuces...
* : signifie tout (ou chaque unité de temps)
, : permet de définir une liste.
- : permet de préciser un intervalle
/ : sert à définir des intervalles avec des pas différents de 1
@reboot : permet de lancer la commande au démarrage de la machine
@yearly : tous les ans
@daily : tous les jours

* * * * * /path/to/cmd # execute /path/to/cmd tous les minutes
0 0 * * 5,6 /path/to/cmd # execute /path/to/cmd a minuit tous les samedis et dimanches (tous les weekends a minuit).
0 0-12 * * * /path/to/cmd # execute /path/to/cmd toutes les heures entre minuit et midi, tous les jours de la semaine.
*/10 * * * 1 /path/to/cmd # execute /path/to/cmd toutes les 10 minutes, tous les lundis.
@yearly /path/to/cmd # equivaut a ...
0 0 1 1 * /path/to/cmd (tous les 01/01 a minuit)

@daily /path/to/cmd # equivaut a ...
0 0 * * * /path/to/cmd (tous les jours a minuit)


Question :
Comment executer une tâche toutes les 90 minutes ?

Activer les Erreurs PHP....

Ce court tutoriel a pour but de te montrer comment activer la journalisation des erreurs PHP.

Pour ce faire il suffit de copier coller les quelques lignes suivantes dans un fichier .htaccess

1e Etape : Cacher les logs au yeux des visiteurs...
# suppression de l'affichage des erreurs php
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off


2e Etape : Activer les logs d'erreur
# activation du journal d'erreurs php
php_flag log_errors on
php_value error_log /chemin/vers/fichier/php_errors.log


3e Etape : interdire l'acces au journal d'erreurs php via le web
# interdiction d'accéder au journal d'erreurs php via le web
<Files php_errors.log>
Order allow,deny
Deny from all
Satisfy All
</Files>