Php

php.ini 無法在 Windows7 x64 上傳入

  • June 21, 2010

我過去手動配置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. 它沒有載入的主要原因是我搞砸了處理程序映射請求限制,並且無意中將處理程序設置為僅在請求映射到文件夾時才呼叫。這完全阻止了 PHP 響應 HTTP 請求而執行。現在我已經解決了這個問題,phpinfo() 返回它正在從 c:\php 文件夾載入 php.ini。
  2. 我仍然不知道為什麼從命令行執行“php.exe -info”會顯示“Loaded Configuration File => (none)”。我已經嘗試了我能想到的一切來載入正確的 INI 文件,但沒有任何效果。

在 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

引用自:https://serverfault.com/questions/105962