php.ini 在 Windows7 x64 上未載入

php.ini 在 Windows7 x64 上未載入

我過去手動配置過 PHP,沒有任何問題。現在我嘗試在 Windows 7 x64 上使用 PHP 5.3.1 設定開發環境,但它不會載入 php.ini 檔案!

我對 Win7 和 64 位元作業系統都是新手,所以這可能是我缺少的東西。喔...這也在虛擬機器(VMWare Player)中運行,儘管我不確定這會產生什麼影響。

我已將 PHPRC 環境變數設定為指向“c:\php\”,將 IniFilePath 註冊表項(在 HKLM/Software/PHP 和 HKLM/Software/Wow6432Node/PHP 中)設為“c:\php”,然後我甚至將php.ini 複製到c:\windows,並且“php -info”仍然顯示:

Configuration File (php.ini) Path => C:\Windows
Loaded Configuration File => (none)

我甚至為 c:\Windows\php.ini 設定“Everyone”的讀取權限,但無濟於事。

誰能幫我解決這個問題嗎?先致謝!這是“php -info”的第一部分輸出...

phpinfo()
PHP Version => 5.3.1

System => Windows NT DEV 6.1 build 7600 ((null)) i586
Build Date => Nov 19 2009 09:48:59
Compiler => MSVC9 (Visual C++ 2008)
Architecture => x86
Configure Command => cscript /nologo configure.js  "--enable-snapshot-build" "--
enable-debug-pack" "--disable-zts" "--disable-isapi" "--disable-nsapi" "--with-p
do-oci=D:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8=D:\php-sdk\ora
cle\instantclient10\sdk,shared" "--with-oci8-11g=D:\php-sdk\oracle\instantclient
11\sdk,shared" "--with-enchant=shared" "--enable-object-out-dir=../obj/"
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => C:\Windows
Loaded Configuration File => (none)
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)
PHP API => 20090626
PHP Extension => 20090626
Zend Extension => 220090626
Zend Extension Build => API220090626,NTS,VC9
PHP Extension Build => API20090626,NTS,VC9
Debug Build => no
Thread Safety => disabled
Zend Memory Manager => enabled
Zend Multibyte Support => disabled
IPv6 Support => enabled
Registered PHP Streams => php, file, glob, data, http, ftp, zip, compress.zlib,
phar
Registered Stream Socket Transports => tcp, udp
Registered Stream Filters => convert.iconv.*, string.rot13, string.toupper, stri
ng.tolower, string.strip_tags, convert.*, consumed, dechunk, zlib.*

答案1

在 Windows 7 下,將設定檔放在 c:\windows 下方是一個壞主意

最好將 PHP.INI 放在 PHP 安裝目錄中並遵循指南(例如http://www.iis-aid.com/articles/how_to_guides/where_php_ini_is_loaded_from) 告訴 PHP.EXE 在哪裡可以找到 PHP.INI

答案2

經過多次嘗試和錯誤,我終於弄清楚了一些事情:

  1. 它沒有加載的主要原因是我搞砸了處理程序映射請求限制,並且無意中將處理程序設置為僅在請求映射到資料夾時才調用。這導致 PHP 根本無法回應 HTTP 請求而執行。現在我已經解決了這個問題,phpinfo() 傳回它正在從 c:\php 資料夾載入 php.ini。

  2. 我仍然不知道為什麼從命令列運行“php.exe -info”顯示“已載入設定檔=>(無)”。我已經嘗試了所有我能想到的方法來加載正確的 INI 文件,但沒有任何效果。

答案3

我發現加載的配置文件顯示(無),因為它的權限不允許用戶訪問它......

嘗試更改它的權限...

相關內容