it-swarm-korea.com

야, 내 php.ini는 어디 있습니까? (서버 구성)

몇 년 전에 저는 아파치 2.2x와 PHP 5.3.1을 리눅스 서버에 설치했습니다. 나는 .tar.gz 파일을 사용했고 (rpms와 what-have-you 대신에) 지시 된대로 만들었습니다. 그리고 모두 괜찮 았어.

오늘 저는 this 를 설치해야합니다 PHP 라이브러리처럼 보입니다. 설치를 위해 모든 단계를 거쳤으며 $PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so에서 ibm_db2.so를 찾았습니다.

가장 좋은 방법은 php.ini를 설정하는 것이지만 내 시스템에는 php.ini가 없다는 것입니다. 공포의 공포. PHP는 잘 동작하지만, 누군가가 GUI를 사용하여 DB2을 사용하도록 할 수있는이 새로운 fangled ibm_db2 패키지를 제외하고는. (나는 실패하고 ibm_db2 기능을 사용할 수 없다는 것을 나타내는 작은 PHP 스크립트를 시도했다.).

몇 년에 한 번씩 PHP를 처리해야하므로, 웹 기반 GUI에서 DB2에 액세스 할 수있게하기 위해 할 수있는 일에 대해 아주 기본적인 수준으로 가르쳐주십시오.

797
necromancer

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

<?php phpinfo(); ?>

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

OP 별 업데이트 :

  1. 이전에 허용 된 answer 는 더 빠르고 더 편할 수 있지만 항상 올바르지는 않습니다. 그 대답에 대한 코멘트를보십시오.
  2. 이 답 에서 언급 된보다 편리한 대안 <?php echo php_ini_loaded_file(); ?>을 주목하십시오.
414
Tejas

명령 행에서 다음을 실행하십시오.

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()을 사용하여 동일한 정보를 grep하고 브라우저로 호출 할 수 있습니다. 그 출력의 첫 번째 블록에서 언급했다. php -i는 명령 행에서도 똑같지 만 매우 불편합니다.

753
KingCrunch

이 작품은 나를 위해 :

php -i | grep 'php.ini'

당신은 다음과 같이 보일 것입니다 :

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

추신. php.inin 경로 만 가져 오려면

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

명령 창 유형에서

php --ini

경로를 보여줄 것입니다.

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

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

echo phpinfo();
62
bibliophilsagar

이 명령을 사용하면 찾을 수 있습니다.

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

다음 명령을 사용하여 linux에서 php.ini 파일 경로를 찾습니다.

[[email protected] ~]# 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


또는 다른 방법으로 시도하십시오.

[[email protected] ~]# php --ini
는 경로 결과를 보여줍니다.

29
Sakthi Karthik
phpinfo();

그 위치 나 명령 행에서 알려줄 것입니다.

php -i
23
user557846

PHP에는 어떤 설정 파일이로드되었는지를 보여주는 두 개의 네이티브 함수가 있습니다 :

설정에 따라 Apache CLI는 다른 ini 파일을 사용할 수 있습니다. 다음은 두 가지 해결책입니다.

아파치 :

그냥 PHP 파일에 다음을 추가하고 브라우저에서 열어

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

CLI :

터미널에 복사하여 붙여 넣기 :

php -r 'print php_ini_loaded_file(); print_r(php_ini_scanned_files());'
21
Creaforge
find / -name php.ini

이봐 요 ... 나 때문에 잘됐다!

6
Banned_User

다음과 같이 설정 파일에 대한 더 많은 정보를 얻을 수 있습니다 :

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

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

SAPI의 경우 : php-fpm

Php.info 파일을 만들 필요가 없습니다 (세계에서 어쨌든 읽을 수있는 좋은 정책은 아닙니다). 명령 행에서 :

php-fpm -i | more

출력의 어딘가에 다음 줄이 표시됩니다.

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

다음은 좀 더 자세한 설명입니다 : https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php/

이 해결책 중 하나를 시도해보십시오.

  1. 터미널 유형에서 find / -name "php.ini"

  2. 터미널에 php -i | grep php.ini을 입력하십시오. 파일 경로를 Configuration File (php.ini) Path => /etc으로 표시해야합니다.

  3. Php 파일에 접근 할 수 있다면 편집기 (메모장)에서 열어 다음 줄에 <?php 다음에 코드를 삽입하십시오 phpinfo(); 그러면 php.ini 위치를 알 수 있습니다
  4. 대화 형 모드로 php와 대화 할 수도 있습니다. 터미널에 php -a를 입력하고 phpinfo ()를 입력하십시오. PHP가 시작된 후.
0
cherankrish