야, 내 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에 의한 업데이트 :
- 이전에 받아 들여진 답변 이 더 빠르고 편리 할 수 있지만 항상 올바른 것은 아닙니다. 해당 답변에 대한 의견을 참조하십시오.
- 또한 이 답변에
<?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.ini
Linux 에서 파일 경로 를 찾으십시오 .
[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 :
- php_ini_loaded_file return the loaded ini file
- php_ini_scanned_files return a list of .ini files parsed from the additional ini dir
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
In your terminal type
find / -name "php.ini"
In your terminal type
php -i | grep php.ini
. It should show the file path asConfiguration File (php.ini) Path => /etc
- If you can access one your php files , open it in a editor (notepad) and insert below code after
<?php
in a new linephpinfo();
This will tell you the php.ini location - 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
'Nice programing' 카테고리의 다른 글
단위 테스트 C 코드 (0) | 2020.09.28 |
---|---|
OS X에서 환경 변수 설정 (0) | 2020.09.28 |
npm은 어디에 패키지를 설치합니까? (0) | 2020.09.28 |
.NET 애플리케이션을 관리자 권한으로 실행하려면 어떻게해야합니까? (0) | 2020.09.28 |
두 위도-경도 지점 사이의 거리를 계산 하시겠습니까? (0) | 2020.09.28 |