phpinfo说php.ini路径是C:\Windows,但那里没有php.ini
我们正在尝试从PHP5切换到PHP7 我们现在已经安装了Apache,PHP也可以工作了 但是,我们在phpinfo说php.ini路径是C:\Windows,但那里没有php.ini,php,apache,Php,Apache,我们正在尝试从PHP5切换到PHP7 我们现在已经安装了Apache,PHP也可以工作了 但是,我们在php.ini文件中所做的更改没有任何效果 通过phpinfo()我们意识到原因是配置文件(php.ini)路径是C:\Windows 在我们的httpd.conf中,我们有: # PHP7 setup LoadFile "C:/test/php/php7ts.dll" LoadModule php7_module "C:/test/php/php7apache2_4.dll" AddHandl
php.ini
文件中所做的更改没有任何效果
通过phpinfo()
我们意识到原因是配置文件(php.ini)路径是C:\Windows
在我们的httpd.conf
中,我们有:
# PHP7 setup
LoadFile "C:/test/php/php7ts.dll"
LoadModule php7_module "C:/test/php/php7apache2_4.dll"
AddHandler php7-script .php
PHPINIDir "C:/test/php"
据我所知,这是为了让Apache在c:\test\php
中查找php.ini
(http.conf中需要使用前斜杠)
由于不理解Apache为什么不在我们告诉它的地方查找php.ini
,我们将php.ini
放在c:\Windows
中它仍然没有被读取的地方(我们在php.ini
中加载的模块没有在phpinfo中加载)
每次对php.ini
或httpd.conf
进行更改时,我们都会使用Apache监视器重新启动Apache
我们如何告诉Apache读取特定目录中的php.ini
文件,而不是我们上面尝试过的文件?
增编:
我们将所有内容切换回PHP5,现在得到的错误与上面截图中显示的PHP路径相同。它说它现在是PHP5.6.0,所以它显然正在加载新的PHP版本,但是有些地方已经改变,PHP.ini文件在两个版本中都没有读取。(?)
重新启动也无济于事。您可以尝试添加尾部斜杠
PHPINIDir "C:/test/php/"
从
注意:请记住,在Windows上的Apache配置文件中添加路径值时,所有反斜杠
c:\directory\file.ext应转换为正向斜杠:
c:/directory/file.ext。后面的斜杠也可能是必要的
目录
使用PHPRC可能会有帮助吗?您可以指定包含php.ini的目录的路径,而不是php.ini的直接路径。所以导出PHPRC=/test/php。希望这有帮助?这听起来有点像执行phpinfo()
脚本时的缓存问题。。。请确保在浏览器中进行深度重新加载或为此禁用缓存。请查看下面的行(加载的配置文件)。配置文件(php.ini)路径多年来一直显示C:\Windows,没有明显的原因;c:\php是否已添加到路径?在系统变量中,关于尾部斜杠的注释。。。我从来没有用过它,甚至同一页上的示例也没有用过。。。但是对于PHP和Windows,你永远不会知道。我尝试了PHPIniDir“C:/test/PHP/”
和PHPIniDir“C:/test/PHP/”
,但没有效果。就好像它忽略了这一行。如果我取出任何其他行,例如LoadFile“C:/test/php/php5ts.dll”
或LoadModule php5_module“C:/test/php/php5apache2_4.dll”
,则php停止工作,因此我知道Apache正在解析这些行,由于某种原因,它只是忽略了PHPINIDir
行。而且在httpd.conf
文件的任何地方都没有提到PHP,例如,没有其他设置覆盖这些设置。