2008-12-08 5 views
3

Je veux définir la variable include_path dans mon fichier php.ini (C:\Windows\php.ini). Mais, je veux des valeurs include_path différentes pour différents sites hébergés sur le même serveur Windows. Comment puis-je faire ceci?Puis-je avoir plusieurs fichiers php.ini?

Répondre

1

Malheureusement, je ne pense pas que vous le pouvez. Cependant, certains serveurs Web peuvent modifier les paramètres PHP individuellement ... Apache utilisant mod_php a le paramètre php_value que vous pouvez définir sur différents hôtes virtuels, IIS peut avoir quelque chose de similaire, mais je ne suis pas sûr.

set_include_path peut également remplacer le chemin d'inclusion au moment de l'exécution.

P.S. TF2 Engineer pour la victoire.

4

http://php.net/manual/en/configuration.file.php dit:

php.ini est recherché dans ces endroits (dans l'ordre):

. . .

Vous pouvez consulter cette liste et voir si l'une des techniques vous aide dans votre cas. Par exemple, vous pouvez définir la variable d'environnement PHPRC ou vous pouvez placer un fichier php.ini différent dans chaque répertoire de travail en cours, en supposant que chaque hôte virtuel possède un cwd distinct. Notez que lorsque vous utilisez Apache et mod_php ou un autre module incorporant PHP dans le serveur Web (par exemple FastCGI), le fichier php.ini est lu une seule fois, au démarrage du serveur Web. Lorsque vous utilisez PHP de manière CGI, le fichier php.ini est lu lors de chaque requête web, vous avez donc plus de possibilités d'utiliser un php.ini différent.

3

Vous pouvez définir le php include_path à partir d'un fichier .htaccess, en supposant que vous ayez les paramètres appropriés AllowOverride dans votre fichier httpd.conf. Voici un exemple comment:

.htaccess

php_value include_path "d:\path\to\include" 
+1

La question ne mentionne jamais Apache. – Powerlord

+0

La question mentionne Windows. –

+0

fonctionne comme le charme! – Sabya

2

Si je comprends bien la question, il est plus important d'avoir des chemins individuels comprennent pour chaque serveur/site, puis les fichiers php.ini multiples? Id dit garder votre code en PHP autant que possible.

Ensuite, vous pouvez simplement définir le include_path avec set_include_path or ini_set.

Dans Apache, vous pouvez le définir dans un domaine virtuel ou un fichier .htaccess avec php_value include_path "<first path to look>:<second path>:<etc>:.". IIS a probablement une méthode similaire.

Questions connexes