11

Я скачал php, добавил его к своему пути и я пытаюсь включить openssl

php --ini говорит мне, что файл конфигурации - это c:\windows, в котором ничего не было, я не хочу копировать php в c/windows.

Как я могу изменить это, чтобы указать на мою папку php?

3 ответа3

10

Вам не нужно помещать муравейник в PHP где-нибудь рядом с папкой c:\windows .

Если вы сделаете это, это только испортит вас, когда вы обновите PHP до новой версии.

Если вы вставите компакт-диск в папку, в которой установлен PHP, и выполните php --ini он прочитает файл php.ini из папки, в которой вы находитесь.

D:\wamp\bin\php\php5.5.12>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         D:\wamp\bin\php\php5.5.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

Я думаю, что это также плохая идея поместить папку установки PHP в Windows PATH.

Все, что вам нужно, это небольшой пакетный файл, который настроит ваш PATH на время используемого вами командного окна и поместит его в одну из папок, которая уже находится в Windows PATH.

Итак, если вы установили PHP в C:\php это командный файл

phppath.cmd

PATH=%PATH%;C:\php
php --ini
php -v

И затем вы просто запускаете этот пакетный файл каждый раз, когда открываете командные окна и хотите запустить некоторый код PHP, и ваша среда будет настроена. Вы также можете добавлять другие вещи в этот пакетный файл, когда вам нужно добавить другие вещи в вашу среду, такие как Composer и т.д.

3

Согласно документации:

Файл конфигурации (php.ini) читается при запуске PHP. Для версий PHP серверного модуля это происходит только один раз при запуске веб-сервера. Для версий CGI и CLI это происходит при каждом вызове.

php.ini ищется в этих местах (по порядку):

  • Специфичное расположение модуля SAPI (директива PHPIniDir в Apache 2, опция командной строки -c в CGI и CLI, параметр php_ini в NSAPI, переменная среды PHP_INI_PATH в THTTPD)
  • Переменная среды PHPRC. До PHP 5.2.0 это проверялось после ключа реестра, указанного ниже.
  • Начиная с PHP 5.2.0, расположение файла php.ini может быть задано для разных версий PHP. Следующие ключи реестра рассматриваются в следующем порядке: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\ xyz], [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\ xy] и [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\ x], где x, y и z означают мажор PHP, минорная и выпускная версии. Если в каком-либо из этих ключей есть значение для IniFilePath, первый найденный будет использоваться в качестве местоположения php.ini (только для Windows).
  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP], значение IniFilePath (только для Windows).
  • Текущий рабочий каталог (кроме CLI).
  • Каталог веб-сервера (для модулей SAPI) или каталог PHP (в противном случае в Windows).
  • Каталог Windows (C:\ windows или C:\ winnt) (для Windows) или параметр времени компиляции --with-config-file-path.

Вам следует попробовать либо переменную среды PHPRC либо ключ реестра [HKEY_LOCAL_MACHINE\SOFTWARE\PHP] .

0

Я попробовал все без успеха. изменил apache httpd.conf, php.ini и несколько других попыток, которые всегда приводили к загрузке файла конфигурации - (нет). Наконец, я скопировал все файлы из каталога php в каталог C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin и все начало работать. В совершенстве. К сожалению, это не идеальное решение, но оно сработало.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .