Что делать если нет php ini
Перейти к содержимому

Что делать если нет php ini

  • автор:

PHP, проблема с файлом php.ini

У меня проблема: Configuration File (php.ini) Path no value и Loaded Configuration File (none) PHP установлен на локальный сервер Apache. php.ini надо скачать и вручную установить в корневую папку? В папке php есть только php.ini-development И php.ini-production.

Отслеживать
задан 2 июл 2022 в 12:05
3 3 3 бронзовых знака

абсолютнол никто ничего не понял. ты к ini из кода обращаешься. нет не надо вручную установливать в корневую папку ничего

2 июл 2022 в 12:16

Речь идет о phpinfo(), там пишет: «Configuration File (php.ini) Path no value и Loaded Configuration File (none)». В корневой папке php также нету файла php.ini, почему? Его надо создавать? К ini напрямую не обращаюсь, надо отправить письмо через почту, а там вылазит ошибка, что надо выставить SMTP порт 25 и еще пару вещей настроить. А самого файла где надо настраивать нету.

2 июл 2022 в 12:18

php.ini находится в /etc/php/VERSION/apache2/php.ini если в линуксе. если в винде — зависит от того что установлено и как.

2 июл 2022 в 12:19

у меня проблема в том, что файла вообще нет, в папке apache24 (установленная папка apache на windows) тоже нету php.ini

2 июл 2022 в 12:23

«В папке php есть только php.ini-development И php.ini-production.» —- вот один из этих файлов (в данном случяе development) скопируй в эту же папку и убери в конце постфикс. чтоб было php.ini

Где я могу найти файл php.ini

Несколько лет назад я установил Apache 2.2x и PHP 5.3.1 на Linux-сервер, который я обслуживаю. Я использовал .tar.gz и собрал их в соответствии с инструкциями (вместо rpms и т . п .). И все было в порядке. Сегодня мне нужно установить нечто, которое кажется библиотекой PHP. Я прошел все шаги до make install и нашел ibm_db2.so в:

$PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so.

Загвоздка в том, что на последнем шаге нужно настроить файл php.ini, но в моей системе нет ни одного файла php.ini. PHP работает нормально, за исключением, конечно, этой новомодной штуки ibm_db2, которую я хочу использовать, чтобы кто-то мог применять GUI для работы с DB2 ( я попробовал небольшой PHP-скрипт, который не работает и показывает, что функции ibm_db2 недоступны). Мне приходится иметь дело с PHP раз в несколько лет, поэтому, пожалуйста, просветите меня на самом базовом уровне о том, что я могу сделать, чтобы обеспечить доступ к DB2 через веб-интерфейс GUI.

Ответ 1

В командной строке выполните:

php —ini

Вы получите что-то вроде этого:

Configuration File (php.ini) Path: /etc/php5/cli

Loaded Configuration File: /etc/php5/cli/php.ini

Scan for additional .ini files in: /etc/php5/cli/conf.d

Additional .ini files parsed: /etc/php5/cli/conf.d/curl.ini,

/etc/php5/cli/conf.d/pdo.ini,

/etc/php5/cli/conf.d/pdo_sqlite.ini,

/etc/php5/cli/conf.d/sqlite.ini,

/etc/php5/cli/conf.d/sqlite3.ini,

/etc/php5/cli/conf.d/xdebug.ini,

/etc/php5/cli/conf.d/xsl.ini

Это с моей локальной dev-машины. Однако вторая строка — самая интересная. Если там ничего не указано, посмотрите на первую. Это путь, по которому PHP ищет файл php.ini.

Вы можете найти ту же информацию с помощью phpinfo() в скрипте и вызвать его через браузер. Он упоминается в первом блоке вывода. php -i делает то же самое для командной строки, но это довольно неудобно.

Ответ 2

  1. php_ini_loaded_file возвращает загруженный .ini файл ;
  2. php_ini_scanned_files возвращает список .ini файлов, разобранных из дополнительной директории ini.

Ответ 3

  1. В терминале введите find / -name «php.ini».
  2. В терминале введите php -i | grep php.ini. Это должно показать путь к файлу как «Configuration File (php.ini) Path => /etc».
  3. Если вы можете получить доступ к одному из ваших PHP файлов, откройте его в редакторе (Блокнот) и вставьте phpinfo(); после
  4. Вы также можете общаться с PHP в интерактивном режиме. Просто наберите php -a в терминале и введите phpinfo(); после запуска интерпретатора PHP.

Ответ 4

Для SAPI: php-fpm

Нет необходимости создавать файл php.info (в любом случа е о ставлять его на всеобщее обозрение — не самая лучшая идея). Выполните в командной строке:

php-fpm -i | more

Где-то в выходных данных будет показана эта строка:

Configuration File (php.ini) Path => /etc

Ответ 5

Уже упоминалось несколько действенных способов найти файл php.ini, но , если вы наткнулись на эту страницу, потому что хотите что-то сделать с ним в сценарии Bash:

path_php_ini=»$(php -i | grep ‘Configuration File (php.ini) Path’ | grep -oP ‘(?\s).*’)»

echo $

Ответ 6

Используйте следующую команду, чтобы найти путь к файлу php.ini в Linux :

locate php.ini

Вывод:

/etc/php.ini

/etc/php.ini.rpmnew

/usr/share/doc/php-common-5.4.45/php.ini-development

/usr/share/doc/php-common-5.4.45/php.ini-production

Или попробуйте другой способ:

php —ini

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Что делать если нет php ini

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

  • По месту расположения модуля SAPI ( PHPIniDir директива Apache 2, -c параметр командной строки CGI и CLI)
  • Переменная среды PHPRC .
  • Местоположение файла php.ini может быть указано для различных версий PHP. Корневой ключ реестра зависит от разрядности операционной системы и установки PHP. Для 32-разрядного PHP на 32-разрядной Windows или 64-разрядного PHP и 64-разрядной Windows используйте [(HKEY_LOCAL_MACHINE\SOFTWARE\PHP] . Для 32-разрядного PHP на 64-разрядной Windows [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP] . Следующие ключи реестра исследуются при поиске для установок с совпадающей разрядностью: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z] , [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] и [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x] , где x, y и z подразумевают major, minor и release версии PHP. Для 32-разрядного PHP на 64-разрядной Windows ключи реестра будут другими: [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y.z] , [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x.y] и [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6421Node\PHP\x] . Если также имеется значение IniFilePath в любом из этих ключей, то местонахождение php.ini будет определено первым ключом по порядку (только для Windows).
  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP] или [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\PHP] , значение IniFilePath (только для Windows).
  • Текущая директория (исключая CLI).
  • Директория веб-сервера (для модулей SAPI) или директория PHP (иначе в Windows).
  • В директории Windows ( C:\windows или C:\winnt ) (для Windows) или —with-config-file-path с выбором при компиляции.

Если файл php-SAPI.ini существует (где SAPI — это тип интерфейса, который используется, например, php-cli.ini или php-apache.ini ), то он используется вместо php.ini . Тип интерфейса между веб-сервером и PHP может быть определён с помощью функции php_sapi_name() .

Замечание:

Веб-сервер Apache изменяет текущую директорию на корневую при запуске, в результате чего PHP считывает php.ini из корневой файловой системы, если файл существует.

В php.ini можно использовать переменные окружения, как показано ниже.

Пример #1 Переменные окружения php.ini

; PHP_MEMORY_LIMIT взята из переменных окружения memory_limit = $

Директивы php.ini , обрабатываемые модулями, описаны на соответствующих страницах модулей. Список директив ядра имеется в приложении. Не все директивы PHP документированы в этом руководстве: для ознакомления с полным списком директив доступных в вашей версии PHP, прочитайте комментарии вашего php.ini . Кроме того, вы можете найти полезной » последнюю версию php.ini из Git.

Пример #2 Пример php.ini

; любой текст в строке после точки с запятой (;) без кавычек игнорируется [php] ; маркеры разделов (текст в квадратных скобках) также игнорируется ; Могут быть установлены следующие логические значения: ; true, on, yes ; или false, off, no, none register_globals = off track_errors = yes ; вы можете заключать строки в двойные кавычки include_path = ".:/usr/local/lib/php" ; обратный слеш обрабатывается так же, как любые другие символы include_path = ".;c:\php\lib"

Возможно обращаться к существующим ini-переменным из ini-файлов. Пример: open_basedir = $ «:/new/dir» .

Сканирование директорий

Существует возможность сконфигурировать PHP для сканирования директорий в поисках .ini-файлов после считывания php.ini . Это можно сделать на моменте компиляции, указав опцию —with-config-file-scan-dir. Сканирование директорий может быть переопределено во время исполнения установкой переменной среды PHP_INI_SCAN_DIR .

Можно сканировать несколько директорий, разделяя их разделителем, используемом в вашей операционной системе ( ; в Windows, NetWare и RISC OS; : на всех остальных платформах; в PHP есть константа PATH_SEPARATOR , которую можно использовать) Если PHP_INI_SCAN_DIR пуста, то PHP также будет сканировать директорию, заданную на этапе компиляции с помощью —with-config-file-scan-dir.

В каждой директории PHP сканирует все файлы заканчивающиеся на .ini в алфавитном порядке. Список всех загруженных файлов в том порядке, в котором они были загружены, доступен с помощью функции php_ini_scanned_files() , либо при запуске PHP с опцией —ini.

Допустим, что PHP сконфигурирован с --with-config-file-scan-dir=/etc/php.d, и разделитель путей . $ php PHP загрузит все файлы /etc/php.d/*.ini как конфигурационные. $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d php PHP загрузит все файлы /usr/local/etc/php.d/*.ini как конфигурационные. $ PHP_INI_SCAN_DIR=:/usr/local/etc/php.d php PHP загрузит все файлы /etc/php.d/*.ini, а потом /usr/local/etc/php.d/*.ini как конфигурационные. $ PHP_INI_SCAN_DIR=/usr/local/etc/php.d: php PHP загрузит все файлы /usr/local/etc/php.d/*.ini, а потом /etc/php.d/*.ini как конфигурационные.

Нет php.ini, но есть php.ini-development и php.ini-production. Какая между ними разница?

Скачал PHP c php.net, распаковал и прописал этот путь в PATH.

В папке с PHP нет php.ini, но есть php.ini-development и php.ini-production.
Они одинаковы. Насколько я понимаю, надо просто переименовать один из них, удалив часть названия, чтобы остался только php.ini. Но который?

И нужно ли предпринимать еще дополнительные действия в связи с этим переименованием — вручную задавать пути к ним где-то и т.д.?

Именно php.ini есть свой отделдьный в XAMPP, но мне надо запускать не только через браузер, а и билдить php-вывод прямо в Sublime Text 3. Поэтому нужно понимать, как настраивать именно «системный» php.

Как правильно поступить?

  • Вопрос задан более трёх лет назад
  • 3653 просмотра

Комментировать
Решения вопроса 1
Stalker_RED @Stalker_RED

8Cpjzow.png

Не одинаковы, разница в конфигах есть.

просто переименовать один из них, удалив часть названия, чтобы остался только php.ini. Но который?

Да, предполагается, что вы возьмете один из этих файлов как основу для создания собственного php.ini. Если для разработки — берите за основу development. Все равно вам придется внутри что-то менять, по умолчанию там много всего отключено.

И нужно ли предпринимать еще дополнительные действия в связи с этим переименованием — вручную задавать пути к ним где-то и т.д.?

Файл php.ini подключится автоматически. Но в принципе вы можете иметь сколько угодно конфигов для разных задач и указывать их как описано в документации.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *