Développement et bases de données
Personnaliser la configuration de PHP avec le fichier .htaccess
La plupart des valeurs de PHP peuvent être modifiées depuis le fichier .htaccess situé dans public_html ou dans le dossier de votre application. S'il n'existe pas, créez un fichier vide portant ce nom.
Les valeurs les plus courantes (memory_limit, upload_max_filesize, post_max_size, max_execution_time, max_input_vars) peuvent aussi être modifiées sans toucher aux fichiers, depuis PHP dans l'espace client ou dans cPanel. Le .htaccess est utile lorsque vous voulez une valeur différente pour un seul site ou dossier, ou lorsque l'option n'y apparaît pas.
Comment faire
Ajoutez au début du .htaccess une ligne pour chaque valeur à modifier, avec cette syntaxe :
php_value directiva nuevo_valor
Où directiva est le paramètre PHP et nuevo_valor la valeur à appliquer. Par exemple, pour porter max_input_vars à 10000 (ce que demandent souvent PrestaShop ou WooCommerce avec de nombreuses variantes de produit) :
php_value max_input_vars 10000
Vous pouvez ajouter autant de lignes que nécessaire :
php_value memory_limit 512M php_value upload_max_filesize 128M php_value post_max_size 128M php_value max_execution_time 300
Pour les options qui s'activent ou se désactivent (On/Off), utilisez php_flag :
php_flag display_errors Off
Le changement s'applique immédiatement, sans rien redémarrer. Il s'applique à ce dossier et à tous ses sous-dossiers.
Vérifier qu'il a été appliqué
Créez dans le même dossier un fichier info.php contenant :
<?php phpinfo();
Ouvrez-le dans le navigateur (https://tudominio.com/info.php), cherchez la directive et regardez la colonne Local Value. Supprimez le fichier dès la vérification faite : il affiche des données internes du serveur.
En cas d'erreur 500
Si, après avoir ajouté la ligne, le site affiche une erreur 500, retirez la ligne : il y a une faute de frappe ou ce site utilise une version de PHP qui n'accepte pas php_value dans .htaccess. Dans ce cas, créez dans le même dossier un fichier nommé .user.ini avec les valeurs au format php.ini :
max_input_vars = 10000 memory_limit = 512M
Les modifications dans .user.ini peuvent mettre jusqu'à 5 minutes à s'appliquer.
Certaines directives ne peuvent pas être modifiées depuis un dossier (par exemple disable_functions), et aucune valeur PHP n'augmente les ressources de votre offre : si vous fixez memory_limit au-dessus de la mémoire de l'offre, c'est la limite de l'offre qui s'applique.
Cela peut aussi vous aider
- Version de PHP d'un site publié avec Deploy+ Pourquoi l'espace client ne fixe pas la version de PHP dans un dossier publié par Deploy+ et comment...
- Afficher tous les paramètres et valeurs de configuration de la version de PHP utilisée Vérifiez la configuration PHP depuis cPanel ou php -i et, si vous avez besoin de phpinfo() sur le si...
- Changer la version de PHP d'un site avec vérification et retour arrière Changez la version de PHP d'un site ou la version par défaut de votre hébergement depuis l'espace cl...
- Chemins des binaires PHP correspondant à chaque version Utilisez le chemin absolu du binaire de chaque version de PHP pour exécuter des tâches cron, des com...
Quelque chose cloche ou a changé ? Racontez-nous et nous le vérifions.