我有一個安裝在C:\SP\php
中的php的WAMP環境。每件事情都很好。 我最近希望將我的php.ini文件放在一個自定義目錄中:C:\SP\confs\
,但它不起作用。PHP不加載自定義位置的php.ini配置(Windows 8上的Apache)
這裏是我的httpd.conf
指令:
PHPIniDir "C:/SP/confs/"
LoadModule php5_module "C:/SP/php/php5apache2_4.dll"
在C:/SP/confs/php.ini
我有這樣的:
extension_dir = C:\SP\php\ext
date.timezone = Africa/Lagos
錯誤到處出現表明許多功能(如MySQL的)是不確定的。
的phpinfo()
結果如下:
Configuration File (php.ini) Path: C:\windows
Loaded Configuration File: C:\SP\confs\php.ini
Extension_dir: C:\php
Default timezone: UTC (with warnings like: It is not safe to rely on the system's timezone settings....)
我的服務器軟件是:Apache/2.4.9 (Win32) OpenSSL/1.0.1g PHP/5.5.11
現在這一切似乎表明,我的自定義php.ini
被找到並加載(根據phpinfo()函數),但不知何故它的指令完全被忽略,以支持某些服務器默認設置。
現在,這怎麼可能?
感謝@Caio您的關注。就像它在問題中所說的,我在'php.ini'中有這樣的:'extension_dir = C:\ SP \ php \ ext'。沒有其他重寫'extension_dir'指令。更奇怪的是,'phpinfo()'列出了'Loaded Configuration File'作爲'C:\ SP \ confs \ php.ini',這是我正在使用的'php.ini'!另外請注意,不僅是'extension_dir',而且'date.timezone'都會被忽略。 – 2014-10-19 09:51:16
我需要補充一點,出於某種原因,這個指令:'error_log = C:\ SP \ php \ php_errors.log'正在使用相同的'php.ini',因爲錯誤消息正確顯示在那裏。 – 2014-10-19 09:53:54
不錯,我看起來正確的.ini正在加載,但它不接受一些配置。嘗試改變php.ini?如果你將它移動到Windows根文件夾,它將在那裏使用它。除此之外,不知道。我不知道你是如何安裝apache/php的,你是否擁有所有文件夾的管理權限?該進程可以訪問這些文件嗎? – 2014-10-20 14:40:43