php.ini не загружается на Windows7 x64

php.ini не загружается на Windows7 x64

Раньше я вручную настраивал PHP без каких-либо проблем. Теперь я пытаюсь настроить среду разработки с PHP 5.3.1 на Windows 7 x64, и она не загружает файл 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, но безрезультатно.

Может кто-нибудь помочь мне разобраться? Спасибо заранее! Вот первый кусочек вывода от "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() возвращает, что загружает php.ini из папки c:\php.

  2. Я до сих пор не знаю, почему запуск "php.exe -info" из командной строки показывает "Loaded Configuration File => (none)". Я перепробовал все, что мог придумать, чтобы загрузить правильный INI-файл, и ничего не сработало.

решение3

Я обнаружил, что загруженный файл конфигурации отображается как (нет), поскольку его разрешения не позволяют пользователям получать к нему доступ...

Попробуйте изменить его разрешения...

Связанный контент