야, 내 PHP는 어디있어?


Answers

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

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 는 명령 행에서도 똑같지 만 매우 불편합니다.

Question

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

오늘 나는 this PHP 라이브러리처럼 보이도록 설치해야한다. 설치를 위해 모든 단계를 거쳐 $PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so

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

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




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

[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
그 결과를 보여준다.




php.ini 파일을 찾는 데 이미 언급 된 몇 가지 유효한 방법이 있지만 bash 스크립트에서이 작업을하기 위해이 페이지를 보았을 경우 :

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




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

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

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



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

설정에 따라 ApacheCLI 가 다른 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());'



명령 창 유형

php --ini

경로를 보여줄 것입니다.

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

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

echo phpinfo();



Related