Version complète: sur le forum Webmaster Hub : Créer un php.ini
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Les_singes
Bonjour,

J'utilise un cms, mais je suis incapable de faire fonctionner les modules dont j'ai besoin, pour une raison tout à fait basic, j'ai pas assez de mémoire.

Je dois ajouter ces deux lignes dans mon .htaccess

CODE
php_value memory_limit 16M
php_value upload_max_filesize 10M


mais je n'y ai pas accès et mon hébergeur ne veut pas l'éditer, il dit que ça sert pas à ça le .htaccess. Il me dis que je dois créer un php.ini et le mettre à ma racine, ce que j'ai fais. Ça marche toujours pas.

J'imagine que pour qu'il fonctionne, je doive ajouter d'autres valeurs que ces deux lignes. Je n'ai pas de modèle, est-ce qu'il existe un tuto là dessus?

Merci smile.gif

Dan
Un php.ini à la racine de ton site ? Ca c'est nouveau ! smile.gif

Si ton hébergeur ne te laisse pas accéder à ton .htaccess ou a mis des limitations trop sévères, changes-en. Je ne peux rien te conseiller d'autre.
Dadou
Son hebergeur à probablement voulu lui dire d'initialiser dans le code php avec :

CODE
<?php
    ini_set("php_value memory_limit", "16M");
    ini_set("php_value upload_max_filesize", "10M");
?>
destroyedlolo
J'ai du mal a comprendre la reponse de ton hebergeur et encore moins pourquoi tu n'aurais pas acces au .htaccess. Si c'est un question de securite, c'est enormement plus risque d'autoriser les modification du php.ini que d'un simple .htaccess mais bon, chacun voit midi a sa porte shutup.gif
Heu, c'est aussi assez etrange d'avoir un php.ini par site car ce fichier est sense contenir des definitions globales et non specifique a un site.

M'enfin, ces considerations mise a part, si php est un module d'Apache (et non un CGI), il faut que le serveur soit redemarre pour que les modifs de ce fichiers soient prises en compte.
Les_singes
CITATION(Dadou @ mercredi 16 janvier 2008 à 07:32) *
Son hebergeur à probablement voulu lui dire d'initialiser dans le code php avec :

CODE
<?php
    ini_set("php_value memory_limit", "16M");
    ini_set("php_value upload_max_filesize", "10M");
?>


J'ai essayé ton code dans un php.ini, mais ça ne marche pas. Mes valeurs sont toujours les mêmes, soit http://sffq.org/phpinfo.php

upload_max_filesize 2M
memory_limit 8M

Si j'ai bien compris destroyedlolo, je dois demander à mon prestataire de redémarer mon serveur pour que ça fonctionne?
captain_torche
Essaye de mettre ces valeurs dans un script PHP.
Par contre, les valeurs ne seront modifiées que durant l'exécution du script, elles reviendront à celles par défaut après coup.

Si tu veux les vérifier, il faudra les ajouter aussi dans ta page phpinfo.php
SeTyR
Hello :)

Rien d'étonnant pour le fichier php.ini a la racine du compte hebergement ; Au contraire, ton hébergeur te permet (ce qui n'est pas le cas de tous) de modifier les valeur global de php toi meme, c'est bien pratique ;

Probablement qu'il n'authorise pas tout changement mais uniquement certain dont le max memory size , max execution time etc .. bref certaines variables débrayables qui nous arrangent bien ;

Euh sinon destroyedlolo, tu utilise un .htaccess pour modifier les paramêtres globaux de php ? moi je trouve sa trés curieux et pas trop standad comme méthode ^^


Les_singes
Mon problème est réglé smile.gif

C'était une erreur stupide de ma part et mon hébergeur m'a bien aidé là dessus finalement.

Je donne la résolution de mon problème au cas ou ça arrive à certains d'entre vous.

Je n'avais que ces deux lignes à écrire dans mon php.ini

CODE
upload_max_filesize=10
memory_limit=16M


Mon php.ini devait être placé à la racine, pas au même endroit que mon phpinfo qui lui devait être placé dans /public_html, soit l'endroit ou je pouvais le lire.

Ainsi, à la racine, il est inutile de rappeler mes scripts à chaque fois. Je cite mon hébergeur :

CITATION
ainsi inutile de les rappeler dans tout vos scripts php, ceci est la nouvelle constante globale, fixée par vous même)


J'ajoute

CITATION
Nous souhaitons également vous confirmer qu'un fichier .htaccess ne sert en rien concernant php, mais uniquement à la sécurité et le pilotage du comportement d'Apache (sauf script créé par vous même extrêmement spécial..)


Je ne sais pas encore qui à raison là dessus, mais je sais une chose, ça fonctionne maintenant smile.gif
Dan
CITATION(Les_singes @ samedi 19 janvier 2008 à 18:54) *
CITATION
Nous souhaitons également vous confirmer qu'un fichier .htaccess ne sert en rien concernant php, mais uniquement à la sécurité et le pilotage du comportement d'Apache (sauf script créé par vous même extrêmement spécial..)

Je ne sais pas encore qui à raison là dessus, mais je sais une chose, ça fonctionne maintenant smile.gif

Il faudrait leur dire de regarder les pages du manuel Php d'un peu plus près, et ils se rendront compte du nombre de variables qu'on peut paramétrer dans un fichier .htaccess.

Ce type de réponse est vraiment surprenante pour quelqu'un qui s'occupe d'hébergements !
Les_singes
L'hébergeur précise

CITATION
Pour information, oui en effet vous pouvez parametrer des variables global php via un fichier .htaccess, cependant c'est une solution bien moins pratique et que nous ne conseillons pas ; Preférez reserver sont utilisation pour des choses tel que une protection d'action, un url rewriting etc .. et compartimentez vos besoins php a ce fichier ini, lui 100% innacessible par le publique ;


C'est con, je renvois ce que dit l'hébergeur. C'est surtout parce que suis curieuse de savoir ce que vous en pensez. J'ai tout à apprendre à ce sujet.
Gecko64
De mon côté, je n'étais pas au courant qu'il était possible d'interagir sur le PHP avec un .htaccess tongue.gif
Je vais regarder ca de mon côté smile.gif Ca peut toujours être utile biggrin.gif
Dan
Un exemple tout bête, qui illustrera bien mon propos :

Si un des sites hébergés a besoin d'avoir register-globals à "on" alors que les autres suivent les recommendations de php à ce sujet: les laisser à "off" qui est la valeur par défaut.

Il y a deux manières de régler ce problème :
  • soit on édite le php.ini et on met register_globals à on pour tout le monde. Dans ce cas on ouvre une faille de sécurité pour tous les sites.
  • soit on édite une seule ligne dans le fichier .htaccess du site qui en a besoin, et dans ce cas on garde le niveau de sécurité préconisé pour tous les autres sites.

Personnellement, le choix est vite fait !

Il est des "détails" qui ne sont pas forcément utiles à tous les hébergés....
Kioob
Il faudrait commencer par voir si PHP est installé en tant que module Apache ou non... Ces fameuses options php_value et php_flag ne sont disponibles que dans ce mode.

Or s'il s'agit d'un hébergement mutualisé, c'est loin d'être le mode le plus sécurisé. Du coup l'hébergeur opte souvent pour du (Fast)CGI, ce qui permet pour le coup de mettre en place un fichier "php.ini" différent pour chaque client.

Donc rien d'anormal à tout ceci, au contraire même wink.gif
Dan
C'est vrai pour les mutualisés et php en cgi, tu as raison.
On peut dans ce cas précis avoir un php.ini par compte client. a_thumbsup_20.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.