Ressources dev:PHP
(Page créée avec « Hello World ») |
(→Changer de certificat sur OVH) |
||
(21 révisions intermédiaires par 4 utilisateurs sont masquées) | |||
Ligne 1 : | Ligne 1 : | ||
− | + | == encodeURIComponent == | |
+ | encodeURIComponent(texte) | ||
+ | |||
+ | == PHP: mb_substr à la place de substr pour l’UTF-8 == | ||
+ | |||
+ | Si vous utilisez un hébergement mutualisé pour quelconque site ou service, lors du développement, tout doit être encodé de la même manière. Comme je le conseil dans l’article concernant les problèmes d’encodage, utiliser UTF-8 avec PHP n’est pas toujours facile, surtout quand c’est PHP lui-même qui vous transforme vos chaines de caractère UTF-8 en ISO-8859-1 (si c’est l’encodage de caractère utilisé sur le serveur…). | ||
+ | |||
+ | C’est en effet le cas de la fonction substr qui converti les chaines de caractères. Comprendre d’où vient l’erreur d’encodage sans penser que ça pourrait être PHP lui-même, c’est dur… Donc, pour spécifier l’encodage à utiliser pour substr, il faut utiliser la fonction mb_substr et lui ajouter un argument comme ceci: | ||
+ | |||
+ | <syntaxhighlight lang="php"> | ||
+ | $new_string = mb_substr($string, $start, $end, 'UTF-8'); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | [http://www.d-sites.com/2009/07/23/php-mb_substr-a-la-place-de-substr-pour-lutf-8/] | ||
+ | |||
+ | == Avant de passer un projet en production == | ||
+ | |||
+ | - Supprimer les display_error / error_reporting | ||
+ | |||
+ | - Retirer les "or die()" en MySQL | ||
+ | |||
+ | |||
+ | == Afficher les messages d’erreur == | ||
+ | Par défaut, les messages d'erreur ne sont pas affichés sur OVH. Pour y remédier, placer le code suivant en haut de page : | ||
+ | <syntaxhighlight lang="php"> | ||
+ | ini_set('display_errors','on'); | ||
+ | error_reporting(-1); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | |||
+ | == Gestion des sessions avec Internet Explorer et Safari == | ||
+ | |||
+ | '''Source :''' http://bit.ly/n75we3 | ||
+ | |||
+ | Les variables sessions ne fonctionnent pas sur IE si le nom de domaine (ServerName) contient des caractères spéciaux (notamment "_" ou "-") | ||
+ | |||
+ | La solution : | ||
+ | |||
+ | <syntaxhighlight lang="php"> | ||
+ | header('P3P: CP="CAO PSA OUR"'); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Autre solution : | ||
+ | |||
+ | <syntaxhighlight lang="php"> | ||
+ | header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"'); | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | A placer juste en dessous de "session_start()" | ||
+ | |||
+ | == Changer de certificat sur OVH == | ||
+ | Le certificat doit être renouvelé tous les ans, il a normalement été reçu par email. | ||
+ | |||
+ | 1 - Uploader le certificat sur le serveur OVH, dossier/etc/httpd/conf | ||
+ | |||
+ | 2 - Editer le fichier /etc/httpd/conf/httpd.conf et remplacer le nom des certifs | ||
+ | |||
+ | 2 - Relancer Apache et tester | ||
+ | |||
+ | Source : http://www.tbs-certificats.com/FAQ/fr/93.html | ||
+ | |||
+ | EDIT JK : chemin du fichier httpd.conf : /usr/local/apache/conf/httpd.conf |
Version actuelle en date du 16 avril 2013 à 17:35
Sommaire |
[modifier] encodeURIComponent
encodeURIComponent(texte)
[modifier] PHP: mb_substr à la place de substr pour l’UTF-8
Si vous utilisez un hébergement mutualisé pour quelconque site ou service, lors du développement, tout doit être encodé de la même manière. Comme je le conseil dans l’article concernant les problèmes d’encodage, utiliser UTF-8 avec PHP n’est pas toujours facile, surtout quand c’est PHP lui-même qui vous transforme vos chaines de caractère UTF-8 en ISO-8859-1 (si c’est l’encodage de caractère utilisé sur le serveur…).
C’est en effet le cas de la fonction substr qui converti les chaines de caractères. Comprendre d’où vient l’erreur d’encodage sans penser que ça pourrait être PHP lui-même, c’est dur… Donc, pour spécifier l’encodage à utiliser pour substr, il faut utiliser la fonction mb_substr et lui ajouter un argument comme ceci:
$new_string = mb_substr($string, $start, $end, 'UTF-8');
[modifier] Avant de passer un projet en production
- Supprimer les display_error / error_reporting
- Retirer les "or die()" en MySQL
[modifier] Afficher les messages d’erreur
Par défaut, les messages d'erreur ne sont pas affichés sur OVH. Pour y remédier, placer le code suivant en haut de page :
ini_set('display_errors','on'); error_reporting(-1);
[modifier] Gestion des sessions avec Internet Explorer et Safari
Source : http://bit.ly/n75we3
Les variables sessions ne fonctionnent pas sur IE si le nom de domaine (ServerName) contient des caractères spéciaux (notamment "_" ou "-")
La solution :
header('P3P: CP="CAO PSA OUR"');
Autre solution :
header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
A placer juste en dessous de "session_start()"
[modifier] Changer de certificat sur OVH
Le certificat doit être renouvelé tous les ans, il a normalement été reçu par email.
1 - Uploader le certificat sur le serveur OVH, dossier/etc/httpd/conf
2 - Editer le fichier /etc/httpd/conf/httpd.conf et remplacer le nom des certifs
2 - Relancer Apache et tester
Source : http://www.tbs-certificats.com/FAQ/fr/93.html
EDIT JK : chemin du fichier httpd.conf : /usr/local/apache/conf/httpd.conf