2011-03-14 6 views
3

Mon serveur utilise suPHP et chaque site Web possède son propre fichier php.ini. Mon hôte a recommandé d'ajouter ce qui suit dans mon fichier .htaccess:php.ini avec suPHP dans .htaccess

<IfModule mod_suphp.c> 
suPHP_ConfigPath /home/user/public_html 
</IfModule> 

Cela met essentiellement au fichier php.ini du site. Cependant, j'essaie d'avoir un fichier .htaccess standard sur tous les sites que je n'ai pas besoin d'éditer - essentiellement une partie de mon site "standard" que je commence avec. J'ai essayé de changer le dessus à ceci:

<IfModule mod_suphp.c> 
suPHP_ConfigPath %{DOCUMENT_ROOT}/public_html 
</IfModule> 

Mais ceci ne fonctionne pas. Comme vous pouvez le constater, je ne comprends probablement pas comment tout cela fonctionne. Quelqu'un peut-il m'aider avec le code ci-dessus afin que je n'aie pas besoin de mettre le chemin exact dans chaque fichier .htaccess, et obtenir Apache pour calculer le chemin d'accès à mon fichier php.ini? J'espère que cela a du sens, c'est un peu difficile à expliquer!

+1

Il semble de regarder autour (comme ici: http://stackoverflow.com/questions/1170100/accessing-serverdocument-root-value-in-htaccess-file) que je ne pourrais pas être en mesure d'utiliser% {DOCUMENT_ROOT} ailleurs que RewriteCond. Est-ce vrai? Existe-t-il un autre moyen de pointer vers/home/user/public_html sans écrire différemment dans chaque fichier .htaccess? – iagdotme

Répondre

3

Juste faire un balayage de vieux QS de suphp. mod_suphp utilise l'analyseur de paramètres standard, donc en principe% {DOCUMENT_ROOT} devrait fonctionner. Le problème que vous avez presque certainement est que suPHP est généralement utilisé pour les solutions d'hébergement partagé et pour ceux-ci, les utilisateurs effectifs de DOCUMENT_ROOT ne sont pas les mêmes que ceux établis par la directive DocumentRoot dans la configuration du système.

La plupart des fournisseurs configurent une variable d'environnement pour pointer sur la racine du document de l'utilisateur. Mon hôte configure DOCUMENT_ROOT_REAL, un autre que j'ai rencontré est PHP_DOCUMENT_ROOT. Vous devez regarder votre rapport phpinfo() pour voir ce qui s'applique dans votre cas. Donc, sur mon .htaccess, j'utilise

suPHP_ConfigPath %{ENV:DOCUMENT_ROOT_REAL}/_private 

et cela fonctionne très bien pour moi.