Axude PHP, MySQL, Apache, Debian, et bien d'autres!
  • scissors
    mars 7th, 2012neriquePHP

    Voici quelques fonctions qui vont retourner la date de la veille en PHP. Et dans la foulée, une fonction qui retourne une date à plus ou moins

    X jours!

    function getYesterday() {
    
    return date('Y-m-d', time() - (60*60*24));
    
    }
    
    function getYesterday() {
    
    return date('Y-m-d', strtotime('yesterday'));
    
    }
    
    function getYesterday() {
    
    return date('Y-m-d', strtotime('-1 day'));
    
    }
    

    Voici la fonction qui

    retourne une date à plus ou moins x jours (par défaut, la veille)

    function getDayDiff($diff = '-1') {
    
    //$diff doit être au format +X ou -X, X étant un entier
    
    return date('Y-m-d', strtotime($diff.' day'));
    
    }
    
    Tags: , ,
  • scissors
    mars 1st, 2012neriquePHP

    Parlons un peu de ce que l’on peut trouver sur le net en terme d’optimisation PHP, quelques articles TRES utiles:

    • Un HOW-TO à base de benchmark, de conf Apache, et de bonnes idées en tous genres chez PHPLens
    • Une liste des meilleures pratiques (les meilleures façons d’utiliser echo, quelle fonction pour calculer la taille d’une

      chaîne, etc..) chez Chazzuza

    • En français cette fois, chez Vulgarisation-Informatique un benchmark des différentes fonctions de base de PHP, buy cialis online low price pour choisir la meilleure!
    Tags: , , ,
  • scissors
    octobre 22nd, 2010peypeyPHP

    La syntaxe PHP:

    Un script PHP est contenu entres 2 balises:

    <?php ?> l'utilisation de ce format de balise est conseillé
    
    
    <? ?> l'utilisation de ce format de balise est déconseillé (on les appelle des balises courte)

    pour utiliser les balises courte, il faut activer au préalable la directive short_open_tag dans le fichier de configuration php (php.ini)

    <?= »message »;?> l’utilisation de

    ce format est équivalent à <?php echo »message »;?>
    Chaque instruction est suivie d’un ; (point-virgule).
    La dernière instruction d’un bloc php n’exige pas un ; à la fin.

    Les opérateurs:

    Php dispose de plusisieurs opérateurs:
    Les opérateurs arithmétiques:

    - Soustraction // $a - $b
    + Addition // $a + $b
    * Multiplication // $a * $b
    / Divison // $a / $b
    % Modulo // $a % $b : reste de a divisé par b
    

    Les opérateurs d’assignation:

    = : égal à // $a=2; j'assigne 2 à la variable $a.
    => : Pour les tableaux on utilise => pour assigner une valeur à un élément d'un tableau. $mon_tableau=array(0=>"Un", 1=>"Deux")
    .= : .= est un opérateur de concaténation et d'assignation à la fois // $a = "Hello "; $a .= "World"; maintenant $a comporte "Hello World".
    Opérateurs sur les bits:
    & : Et
    | : Ou
    ^ : Ou exclusif
    ~ : Non
    << : Décalage à gauche >> : Décalage à droite
    

    Read the rest of this entry »

    Tags: , ,
  • scissors
    octobre 11th, 2010peypeyPHP

    substr:

    substr est une fonction qui retourne une sous-chaîne d’une chaîne de caractères.

    substr(string $chaine, int $debut, int $longueur)

    $chaine: représente la chaîne de caractères initiale.

    $debut: est l’index de début de la cha

    îne de caractères qu’on veut extraire. Si $debut est négatif, alors le même nombre de caractères sera omis, en partant de la fin de la chaîne.

    Si $debut dépasse la longueur de la chaîne

    de caractères, alors substr retournera une chaîne vide.

    $longueur: est

    un paramètre optionnel qui indique la longueur de la chaîne de caractères à extraire.

    Exemples:

    <?php
    
    $ma_chaine = "je ne veux pas travailler";
    
    $ma_sous_chaine = substr($ma_chaine, 3);
    
    echo ($ma_sous_chaine); // retournera "ne veux pas travailler"
    
    $ma_sous_chaine = substr($ma_chaine, 2);
    
    echo ($ma_sous_chaine); // retournera " ne veux pas travailler"
    
    $ma_sous_chaine = substr($ma_chaine, 0,2); // on extrait une chaine d'une longueur de 3 chars à partir de l'indice 0
    
    echo ($ma_sous_chaine); // retournera "je"
    
    $ma_sous_chaine = substr($ma_chaine, -4);
    
    echo ($ma_sous_chaine); // retournera "ller"
    
    $ma_chaine = "abcdefghi";
    
    $ma_sous_chaine = substr($ma_chaine, -4); // retournera "fghi"
    
    $ma_sous_chaine = substr($ma_chaine, -4,2); // retournera "fg"
    
    ?>
    
    Tags: , ,
  • scissors
    octobre 7th, 2010peypeyPHP

    Php.ini

    php.ini est le

    fichier de configuration du moteur php5.

    Il contient des dizaine de directives. Chaque directive a une signification et un rôle particulier.

    Le fichier php.ini est un fichier de type ini. C’est un fichier texte

    divisé en plusieurs sections et chaque section contient un ceratin nombre de paramètres de configuration.

    Une section commence par [nom_de_la_section]

    Une directive est sous la forme: paramètre = valeur

    Les lignes qui commencent par ; sont des commentaires.

    à l’installation du moteur php le fichier php.ini se trouve dans /etc/php5/apache2/php.ini sous debain.
    Read the rest of this entry »

    Tags: ,
  • scissors
    octobre 7th, 2010peypeyPHP

    Php5 propose un ensemble de fonctions pour obtenir, traiter et formater les dates.

    Nous vous proposons ici un tour des fonctions les plus utilisée.

    Date:

    date() est sans doute la fonction la plus utilisée. Elle permet d’obtenir une date

    à partir d’un timestamp unix.

    date($format, $timestamp) prend 2 parmaèttres:

    $format: le format de sortie de la date.

    Les jours :

    d : 01 à 31
    D : Mon à Sun
    j : 1 à 31
    l : (‘L’ minuscule) en anglais Sunday à Saturday
    N : 1 (pour Lundi) à 7 (pour Dimanche)
    S : st, nd, rd ou th.
    w : 0 (pour dimanche) à 6 (pour samedi)
    z canadian pharmacy no prescription : 0 à 366
    Read the rest of this entry »

    Tags: , , , , , , ,
  • scissors
    octobre 4th, 2010peypeyPHP

    Zend framework (ZF):

    ZF est l’un des frameworks php les plus utilisés dans le développement d’applications web avec PHP5. C’est à la fois un moyen simple, puissant et structuré qui permet de gagner beaucoup de temps dans vos développements.

    Il peut être utilisé de 2 façons différentes:
    1- En se servant de ses composants individuellement.
    2- En se servant de son implémentation du model MVC

    Dans notre exemple nous allons vous montrer comment se servir des deux modules Zend_Application et Zend_Tool.

    Prérequis:

    1- Système d’exploitation Linux ou windows (dans notre article on utilisera une debian lenny)
    2- Un

    serveur web apache2.
    3- php5.
    4- Mysql5.

    Read the rest of this entry »

    Tags: , , , , ,
  • scissors
    septembre 30th, 2010neriquePHP

    Un site internet qui fait 1000 visites par jour sollicite autant de fois votre serveur pour afficher à chaque fois la page d’accueil.
    Pour soulager votre serveur, il est judicieux d’utiliser un système de cache, qui va stocker une « image » de vos pag

    es à la première visite et servir cette image aux prochains visiteurs.
    On évite des requêtes en trop, de la charge processeur, etc… que du bénéfice.

    D’après le site php.net
    Le « Alternative PHP Cache » (APC) est un cache d’opcode libre et ouvert pour PHP. Son objectif est de fournir un framework libre, ouvert et robuste pour la mise en cache et l’optimisation de code intermédiaire PHP.
    (plus d’informations sur le site de php.net http://php.net/manual/fr/book.apc.php)

    Il existe également d’autres systèmes de cache beaucoup plus puissants, tels que memcached ou encore varnish. Ils ne jouent pas tous au même niveau, certains font du cache HTTP, d’autres peuvent faire du cache SQL également.

    Je vous conseille au préalable de faire un benchmark d’une URL de votre site pour faire un comparatif avant/après et constater que vous êtes extrêmenet satisfait de cet article ô combien utile :p
    Vous pouvez effectuer ce benchmark avec http://webwait.com/ par exemple. C’est moins précis qu’un apache bechmark, mais c’est bien plus simple.

    Voici donc le moyen de mettre en place APC sur votre serveur Debian
    APC est disponible via PECL, outil qui est lui-même fourni par l’ensemble de classes PEAR.

    apt-get install php5-dev php-pear
    pecl install apc
    

    Il est fort probable que la commande vous pose la question suivante:

    Use apxs to  set compile flags (if using APC with Apache)? [yes]
    

    Répondez yes si vous utilisez Apache, no sinon

    Créez ensuite le fichier

    vi /etc/php5/apache2/conf.d/apc.ini
    

    et insérez dans le fichier

    extension=apc.so
    

    Maintenant redémarrez votre serveur Apache

    /etc/init.d/apache2 restart
    

    Voilà, APC est installé et fonctionne avec votre serveur Apache2 et PHP

    Vous pouvez accéder à un ensemble

    de statistiques fournies par APC
    Pour cela, copiez le fichier de statistiques vers un répertoire accessible par URL (ou plus simplement le DocumentRoot). Puis éditez le fichier pour changer le mot de passe à votre convenance.

    cp /usr/share/php/apc.php /chemin/vers/le/document/root/apc.php
    vi /chemin/vers/le/document/root/apc.php
    

    il faut modifier les lignes:

    defaults('ADMIN_USERNAME','admin');
    defaults('ADMIN_PASSWORD','password');
    

    Accédez y par l’url correspondant au DocumentRoot http://url…/apc.php

    Et voilà les jolies stats!

    Tags: , , , ,
  • scissors
    septembre 29th, 2010neriquePHP

    Il peut être pratique d’obtenir des logs d’erreur détaillés en provenance de PHP. Corriger les plus petits de ces bugs, même une NOTICE, peut optimiser votre code de manière non négligeable.

    Editer le fichier php.ini (sur Debian, dans une installa

    tion par défaut, le fichier php.ini chargé pour Apache2 se trouve là /etc/php5/apache2/php.ini)
    Il y a souvent plusieurs php.ini, pensez à modifier celui dont vous avez besoin (sur Debian toujours, vous pouvez faire un locate php.ini pour trouver la liste des fichiers portant ce nom. Pour savoir comment installer locate, cliquez ici.)

    Localisez la ligne

    display_errors

    Pour activer les logs PHP

    display_errors=On

    Pour désactiver les logs PHP

    display_errors=Off

    Pour le niveau d’erreurs, localisez la ligne

    error_reporting

    Voici les options disponibles, combinables entre elles

    ; E_ALL             - Tous les erreurs et warnings, n'inclue pas E_STRICT
    ; E_ERROR       buy generic viagra     - Erreurs fatales
    ;  E_RECOVERABLE_ERROR  - Erreurs presque fatales
    ; E_WARNING         - Erreurs non fatales
    ; E_PARSE           - Erreurs de compilation/parsing
    ; E_NOTICE          - Notices d'execution (ce sont des warnings qui proviennent la plupart du temps d'une erreur dans votre code, mais il est possible que ce soit intentionnel (utiliser une variable non initialisée, ...)
    ; E_STRICT          - Notices d'execution, l'activer pour obtenir des suggestions de modification de votre code par PHP afin d'assurer une meilleure interopérabilité
    ; E_CORE_ERROR      - Erreurs fatales qui surviennent pendant le démarrage de PHP
    ; E_CORE_WARNING    - Warnings (erreurs non fatales) qui surviennent pendant le démarrage de PHP;                   
    ; E_COMPILE_ERROR   - Erreurs fatales à la compilation
    ; E_COMPILE_WARNING - Erreurs non fatales à la compilation
    ; E_USER_ERROR      - Messages d'erreur générés par l'utilisateur
    ; E_USER_WARNING    - Warnings générés par l'utilisateur
    ; E_USER_NOTICE     - Notices générées par l'utilisateur
    
    Quelques exemples
    ;   - Affiche toutes les erreurs, à l'exception des notices et warnings standards
    ;
    ;error_reporting = E_ALL & ~E_NOTICE
    ;
    ;   - Affiche toutes les erreurs, à l'exception des notices
    ;
    ;error_reporting = E_ALL & ~E_NOTICE | E_STRICT
    ;
    ;   - Affiche seulement les erreurs
    ;
    ;error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
    

    Pour préciser dans quel fichier les logs doivent s’écrire, localiser la ligne

    error_log
    

    et la changer pour par exemple

    error_log=/var/log/php5.log
    

    ou encore pour écrire dans le fichier syslog

    error_log = syslog

    Enfin, une fonction PHP très pratique est la fonction

    log_error

    Celle-ci va vous permettre d’écrire dans le fichier de log précisé plus haut au lieu de faire des affichages complets pour débuguer votre code.

    Elle s’utilise tout simplement:

    log_error("message à envoyer dans les logs");
    Tags: , , , , , , ,
  • scissors
    septembre 27th, 2010neriquePHP

    On ne maîtrise pas toujours l’ensemble de son architecture, et il arrive qu’une machine serve à la fois pour le développement et la production.
    Dans ces cas là, et dans la mesure ou le serveur est en production, on désactive l’affichage des erreurs

    PHP dans le fichier php.ini.

    Mais il existe un moyen d’activer les

    logs d’erreur PHP pour un VirtualHost spécifique directement depuis la configuration du VirtualHost.
    Il suffit de rajouter la ligne

    php_flag display_errors On

    dans la balise

    On obtient une config du genre:

    
    ...
    DocumentRoot....
    ErrorLog...
    ...
    php_flag display_errors On
    ...
    
    

    Après redémarrage, les erreurs PHP s’afficheront comme par magie!

    Tags: , , , , ,