Windows7 x64에서 php.ini가 로드되지 않음

Windows7 x64에서 php.ini가 로드되지 않음

나는 과거에 아무런 문제 없이 PHP를 수동으로 구성했습니다. 이제 Windows 7 x64에서 PHP 5.3.1을 사용하여 개발 환경을 설정하려고 하는데 php.ini 파일이 로드되지 않습니다!

저는 Win7과 64비트 OS를 모두 처음 사용하기 때문에 제가 놓친 부분이 있을 수 있습니다. 아...그리고 이것은 VM(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 설치 디렉토리에 PHP.INI를 넣고 지침(예:http://www.iis-aid.com/articles/how_to_guides/where_php_ini_is_loaded_from) PHP.EXE에 PHP.INI를 찾을 수 있는 위치를 알려줍니다.

답변2

많은 시행착오 끝에 마침내 몇 가지 사실을 알아냈습니다.

  1. 로드되지 않는 주된 이유는 핸들러 매핑 요청 제한을 망쳤고 요청이 폴더에 매핑된 경우에만 호출되도록 핸들러를 실수로 설정했기 때문입니다. 이로 인해 HTTP 요청에 대한 응답으로 PHP가 전혀 실행되지 않았습니다. 이제 이 문제를 해결했으므로 phpinfo()는 c:\php 폴더에서 php.ini를 로드하고 있음을 반환합니다.

  2. 명령줄에서 "php.exe -info"를 실행하면 "로드된 구성 파일 => (없음)"이 표시되는 이유를 아직도 모르겠습니다. 올바른 INI 파일을 로드하기 위해 제가 생각할 수 있는 모든 것을 시도했지만 아무것도 작동하지 않았습니다.

답변3

로드된 구성 파일이 표시(없음)인 것을 발견했습니다. 왜냐하면 사용자가 액세스할 수 있는 권한이 없기 때문입니다...

권한을 변경해 보세요...

관련 정보