Несколько лет назад я установил Apache 2.2x и PHP 5.3.1 на сервер Linux, который я поддерживаю. Я использовал .tar.gz и построил их в соответствии с инструкциями (вместо rpms и what-have-you). И все было хорошо.
Сегодня мне нужно установить это, которое похоже на библиотеку PHP. Я прошел все шаги, чтобы сделать установку, и я нахожу ibm_db2.so в$PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so
Отличная вещь - последний шаг - настроить php.ini, но в моей системе нет php.ini. Ужас ужасов. PHP работает отлично, за исключением, конечно, для этой новомодной вещицы ibm_db2, которую я хочу использовать, чтобы кто-то мог использовать графический интерфейс для работы DB2
. (Я попробовал небольшой скрипт php, который не работает и указывает, что функции ibm_db2 недоступны).
Мне приходится иметь дело с PHP раз в несколько лет, поэтому, пожалуйста, расскажите мне на самом базовом уровне о том, что я могу сделать, чтобы разрешить доступ через GUI через веб-интерфейс DB2
.
locate php.ini
скажу вам в простые моменты, когда файл находится в вашей системе.Ответы:
Лучший способ найти это: создать файл php и добавить следующий код:
и откройте его в браузере, он покажет файл, который на самом деле читается!
Обновления от OP:
<?php echo php_ini_loaded_file(); ?>
упомянутую в этом ответе .источник
<?php phpinfo(); ?>
php -r \@phpinfo\(\)\;
работает для меня,php -r \@phpinfo\(\)\; | grep 'PHP Version' -m 1
чтобы получить конкретную информацию<?php echo php_ini_loaded_file(); ?>
В командной строке выполните:
Вы получите что-то вроде:
Это из моей локальной машины. Однако вторая строка интересная. Если ничего не упомянуто, посмотрите на первый. Это путь, по которому PHP ищет
php.ini
.Вы можете получить ту же информацию с
phpinfo()
помощью скрипта и вызвать ее с помощью браузера. Это упоминается в первом блоке вывода.php -i
делает то же самое для командной строки, но это довольно неудобно.источник
.php
файла. Кстати, если вы прокомментируете вопрос, я получу уведомление и смогу решить проблему раньше.phpinfo.php
подобный файл. С FPM вы можете по крайней мере использоватьphp5-fpm -i | grep '\.ini'
. Обычно вы используете это два или три раза, и в конце дня вы знаете, где находятся файлы;)Это работает для меня:
Вы должны увидеть что-то вроде:
ps чтобы получить только путь php.inin
источник
php.ini
, что именно проблема: Если нет ни одного, вы еще не знаете , где смотреть, или где разместить новый.Configuration File (php.ini) Path => /usr/lib
, но запуск<?php phpinfo(); ?>
дает мнеLoaded Configuration File: /etc/php.ini
. Итак,phpinfo()
было надежнее в моем случае.В командной строке введите
Это покажет вам путь что-то вроде
Если приведенная выше команда не работает, используйте эту
источник
Эта команда должна помочь вам найти ее
источник
Используйте следующие команды, чтобы найти
php.ini
путь к файлу в Linux.или попробуйте это по-другому
[root@AnyDirectory ~]# php --ini
это показывает результат пути
источник
php -i | grep 'php.ini'
, потому что он находит любой php.ini и не сообщает вам, какой из ваших установок PHP использует. Кроме того, это может дать неправильные результаты, еслиlocate
БД не обновлена.скажет вам его местонахождение или из командной строки
источник
PHP поставляется с двумя встроенными функциями, чтобы показать, какой файл конфигурации загружен:
В зависимости от настроек Apache и CLI могут использовать разные INI-файлы. Вот два решения:
Apache:
Просто добавьте следующее в файл php и откройте его в браузере.
CLI:
Скопируйте и вставьте в свой терминал:
источник
php_ini_loaded_file
это не всегда может быть доступно.php_ini_loaded_file
скажем php версии> = 5.2.4Эй ... у меня это сработало!
источник
php --ini
работает, но это просто еще один вариант :) Обычно есть,/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
и обычно какой вы хотите, это довольно очевидно. (cli, apache, cgi)Вы можете получить больше информации о ваших конфигурационных файлах, используя что-то вроде:
источник
Для SAPI: php-fpm
Нет необходимости создавать файл php.info (не рекомендуется оставлять его на прочтение всему миру). В командной строке:
Где-то в своем выводе он покажет эту строку:
Вот более полное объяснение: https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/
источник
Попробуйте одно из этого решения
В вашем терминале тип
find / -name "php.ini"
В вашем терминале введите
php -i | grep php.ini
. Должен показать путь к файлу какConfiguration File (php.ini) Path => /etc
<?php
новой строки.phpinfo();
Это скажет вам местоположение php.ini.php -a
в терминал и введите phpinfo (); после инициации php.источник
Уже упоминалось несколько допустимых способов поиска файла php.ini, но если вы натолкнулись на эту страницу, потому что хотите что-то с ней сделать в скрипте bash:
path_php_ini="$(php -i | grep 'Configuration File (php.ini) Path' | grep -oP '(?<=\=\>\s).*')" echo ${path_php_ini}
источник