2013-02-24 41 views
2

我刚刚在Windows机器上设置了虚拟主机(使用xampp)并为我的默认站点创建了一个条目,如下所示。找不到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> 

我然后注释掉包含路径在C:\ XAMP \ PHP \ php.ini中,所以我可以运行多个网站每个都有自己的include_path

我有没有在定义的路径.htaccess文件本地主机根目录。我有一个php.ini文件,路径定义如下:include_path =“。; D:\ path \ to \ my \ website \ php” 但是当我运行phpinfo时,我得到默认的include_path =。; C: \ php \梨

任何想法为什么PHP没有看到我的php.ini?我已经检查过无处不在的.htaccess文件或php.ini文件,但这是服务器的根目录,唯一的文件是我提到的文件。

+1

检查phpinfo()输出,看看你的PHP读取什么php.ini文件。这是你可以在你的Apache下使用的文件(也是唯一的)。在每个子站点的靴子中修改包含路径。 (php_ini_set) – 2013-02-24 23:07:48

+0

加载的配置文件= C:\ xampp \ php \ php.ini和配置文件(php.ini)Path = C:\ Windows(但是这里没有php.ini) – mseifert 2013-02-24 23:12:55

+0

我想我会强制这个问题,从\ xampp \ php中删除php.ini,认为你只能有一个php.ini文件,这会迫使它读取localhost中的一个文件,而我却得到Loaded Configuration File(none)。也许有一个设置可以找到php.ini文件的位置(例如c:\ windows的配置文件路径)?我现在正在使用set_include_path(),但希望得到这个工作。 – mseifert 2013-02-24 23:38:14

回答

0

在编译时(PHP的)的php.ini,对于apache模块,设置为
放回擦除php.ini文件(现在,mod-php使用默认值)。

对于多个虚拟主机,可以在htaccess或特定的vhost配置文件中使用(检查是否可能)apache配置,或者使用PHP的php ini set函数。

这两个都是很好的做法,除非你真的真的需要你的系统中的每一个汁液,在这种情况下,PHP不是你应该选择的技术。

+0

我尝试过使用set_include_path(),但这有太多的反响。我目前在.htaccess中使用php_value include_path指令,这似乎是使用php.ini文件的直接交换,因为它对整个站点是全局的。我想知道如何重新配置​​Apache,我会研究它。但是,虚拟主机配置听起来很有希望。我也会研究它是否有其他设置。 – mseifert 2013-02-25 04:09:41