2013-02-24 3 views
2

Je viens de configurer des hôtes virtuels sur une machine Windows (en utilisant xampp) et ai fait une entrée pour mon site par défaut comme suit.Ne pas trouver php.ini include_path

<VirtualHost *:80> 
DocumentRoot "D:/path/to/my/website" 
ServerName localhost 

<Directory "D:/path/to/my/Website"> 
    Options Indexes FollowSymLinks Includes ExecCGI 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 
</VirtualHost> 

Je commente alors le include_path dans c: \ xamp \ php \ php.ini donc je peux exécuter plusieurs sites chacun avec leur propre include_path

J'ai un fichier .htaccess sans chemin défini dans le répertoire racine localhost. J'ai un fichier php.ini avec un chemin défini comme suit: include_path = ".; D: \ chemin \ vers \ mon \ site \ php" Mais quand j'exécute phpinfo, j'obtiens le chemin par défaut include_path =.; C: \ php \ pear

Des idées pour lesquelles php ne voit pas mon php.ini? J'ai vérifié partout pour les fichiers .htaccess erronnés ou les fichiers php.ini mais c'est la racine du serveur et les seuls fichiers sont ceux que j'ai mentionnés. Php.ini, pour le module apache, est défini au moment de la compilation (de PHP)

+1

Vérifiez la sortie de phpinfo() pour voir quelle php.ini filr votre php lit. C'est le fichier (et seulement celui-ci) que vous pouvez utiliser sous votre Apache. Modifiez le chemin d'inclusion dans le démarrage de chacun de vos sous-sites. (php_ini_set) –

+0

Fichier de configuration chargé = C: \ xampp \ php \ php.ini et fichier de configuration (php.ini) Path = C: \ Windows (mais pas de php.ini ici) – mseifert

+0

Je pensais forcer le problème et supprimé php.ini de \ xampp \ php en pensant que vous ne pouvez avoir qu'un fichier php.ini et cela le forcerait à lire celui de localhost et ... à la place j'ai téléchargé Loaded Configuration File (aucun). Peut-être existe-t-il un paramètre indiquant où trouver le fichier php.ini (par exemple, le chemin du fichier de configuration de c: \ windows)? J'utilise set_include_path() pour l'instant, mais je voudrais que cela fonctionne. – mseifert

Répondre

0


Remettez le fichier erp php.ini à jour (pour le moment, mod-php utilise les valeurs par défaut).

Pour plusieurs vhosts, utilisez (vérifiez si possible) apache config, soit dans htaccess ou dans un fichier de configuration vhost spécifique, soit utilisez la fonction php ini set de PHP.

Les deux sont de bonnes pratiques, sauf si vous avez vraiment besoin de tout le dernier jus de votre système, auquel cas, PHP n'est pas la technologie que vous auriez dû choisir.

+0

J'ai essayé d'utiliser set_include_path() mais cela a eu trop de répercussions. J'utilise actuellement la directive php_value include_path dans .htaccess et cela semble être un échange direct pour utiliser le fichier php.ini car il est global pour l'ensemble du site. Je voudrais savoir comment reconfigurer Apache et je vais m'y pencher. Cependant, la configuration de vhost semble très prometteuse. Je vais aussi y jeter un coup d'oeil pour voir s'il y a des paramètres supplémentaires. – mseifert

Questions connexes