Nice programing

야, 내 php.ini는 어딨어?

nicepro 2020. 9. 28. 10:05
반응형

야, 내 php.ini는 어딨어?


몇 년 전에 내가 관리하는 Linux 서버에 Apache 2.2x와 PHP 5.3.1을 설치했습니다. .tar.gz를 사용하고 지시에 따라 빌드했습니다 (rpm 및 what-have-you 대신). 그리고 모두 괜찮 았습니다.

오늘 은 PHP 라이브러리처럼 보이는 이것을 설치해야합니다 . 설치하기 위해 모든 단계를 거쳤으며 ibm_db2.so를$PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so

가장 중요한 점은 마지막 단계는 php.ini를 구성하는 것이지만 내 시스템에는 php.ini가 없습니다. 공포의 공포. PHP는 잘 작동하지만, 내가 사용하고 싶은이 새로운 ibm_db2 thingamagic을 제외하고는 누군가가 GUI를 사용하여 DB2. (실패하고 ibm_db2 함수를 사용할 수 없음을 나타내는 작은 PHP 스크립트를 시도했습니다).

몇 년에 한 번씩 PHP를 다루어야하므로 .NET에 대한 웹 기반 GUI 액세스를 활성화하기 위해 할 수있는 작업에 대해 매우 기본적인 수준에서 저에게 알려주십시오 DB2.


이를 찾는 가장 좋은 방법은 php 파일을 만들고 다음 코드를 추가하는 것입니다.

<?php phpinfo(); ?>

브라우저에서 열면 실제로 읽고있는 파일이 표시됩니다!

OP에 의한 업데이트 :

  1. 이전에 받아 들여진 답변 이 더 빠르고 편리 할 수 ​​있지만 항상 올바른 것은 아닙니다. 해당 답변에 대한 의견을 참조하십시오.
  2. 또한 이 답변에<?php echo php_ini_loaded_file(); ?> 언급 된 보다 편리한 대안에 유의하십시오 .

명령 줄에서 다음을 실행합니다.

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

그것은 내 로컬 개발 머신에서 가져온 것입니다. 그러나 두 번째 줄은 흥미로운 것입니다. 언급 된 내용이 없으면 첫 번째 항목을 살펴보십시오. 이것이 PHP가 php.ini.

phpinfo()스크립트에서 사용하여 동일한 정보를 grep하고 브라우저로 호출 할 수 있습니다 . 출력의 첫 번째 블록에 언급되어 있습니다. php -i명령 줄에 대해서도 동일하지만 매우 불편합니다.


이것은 나를 위해 작동합니다.

php -i | grep 'php.ini'

다음과 같은 내용이 표시되어야합니다.

Loaded Configuration File => /usr/local/lib/php.ini

ps php.inin 경로 만 얻으려면

php -i | grep /.+/php.ini -oE

명령 창 유형에서

php --ini

다음과 같은 경로를 보여줍니다.

Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File:         /usr/local/lib/php.ini

위의 명령이 작동하지 않으면 이것을 사용하십시오

echo phpinfo();

이 명령은 당신이 그것을 찾는 데 도움이 될 것입니다

php -r "phpinfo();" | grep php.ini

다음 명령을 사용하여 php.iniLinux 에서 파일 경로 를 찾으십시오 .

[root@AnyDirectory ~]# 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


또는 다른 방법으로 시도

[root@AnyDirectory ~]# php --ini
경로 결과를 보여줍니다.


phpinfo();

위치를 알려주거나 명령 줄에서

php -i

PHP comes with two native functions to show which config file is loaded :

Depending on your setup, Apache and CLI might use different ini files. Here are the two solutions :

Apache :

Just add the following in a php file and open it in your browser

print php_ini_loaded_file();
print_r(php_ini_scanned_files());

CLI :

Copy-paste in your terminal :

php -r 'print php_ini_loaded_file(); print_r(php_ini_scanned_files());'

find / -name php.ini

Hey... it worked for me!


You can get more info about your config files using something like:

$ -> php -i | ack config # Use fgrep -i if you don't have ack

Configure Command =>  './configure'  ...
Loaded Configuration File => /path/to/php.ini

For SAPI: php-fpm

There is no need to create a php.info file (it is not a good policy to leave it for the world to read anyway). On the command line:

php-fpm -i | more

Somewhere in its output, it will show this line:

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

Here is a more complete explanation: https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/


Try one of this solution

  1. In your terminal type find / -name "php.ini"

  2. In your terminal type php -i | grep php.ini . It should show the file path as Configuration File (php.ini) Path => /etc

  3. If you can access one your php files , open it in a editor (notepad) and insert below code after <?php in a new line phpinfo(); This will tell you the php.ini location
  4. You can also talk to php in interactive mode. Just type php -a in the terminal and type phpinfo(); after php initiated.

There are several valid ways already mentioned for locating the php.ini file, but if you came across this page because you want to do something with it in a bash script:

path_php_ini="$(php -i | grep 'Configuration File (php.ini) Path' | grep -oP '(?<=\=\>\s).*')" echo ${path_php_ini}

참고URL : https://stackoverflow.com/questions/8684609/dude-wheres-my-php-ini

반응형