Php
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.*
經過多次嘗試和錯誤,我終於弄清楚了幾件事:
- 它沒有載入的主要原因是我搞砸了處理程序映射請求限制,並且無意中將處理程序設置為僅在請求映射到文件夾時才呼叫。這完全阻止了 PHP 響應 HTTP 請求而執行。現在我已經解決了這個問題,phpinfo() 返回它正在從 c:\php 文件夾載入 php.ini。
- 我仍然不知道為什麼從命令行執行“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