올바른 php.ini 파일을 찾으십시오


168

현재 올바른 php.ini 파일을 찾아서 편집하고 아파치를 다시 시작하려고하므로 변경 사항이 적용되고 혼란에 빠졌습니다.

나는 세 가지 다른 php.ini 파일을 찾았습니다 (왜 세 가지가 있는지 전혀 모릅니다).

$ sudo find / -name php.ini
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini

나도 ....

$ sudo php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini

나는 모든 것을 (확실히) 원하는 설정으로 변경했습니다.

나는 아파치를 다시 시작했다.

sudo service apache2 restart

결과는 ...

* Restarting web server apache2

페이지를 다시로드했는데 php.ini 파일이 업데이트되지 않았다는 것을 보여주었습니다.

내가 사용했기 때문에 이것을 알고

echo ini_get('post_max_size');

20M으로 변경되었지만 여전히 2M에 불과했습니다.

컴퓨터를 재부팅하여 아파치 서버를 중지하고 php.ini 파일을 올바른 설정으로 다시로드하려고 시도했지만 아쉽게도 실패했습니다.

방해 할 수있는 다른 php.ini 파일이있을 가능성이 있습니까?


6
'올바른'것은 apache2하위 디렉토리에 있습니다
Joren

1
updatedb; locate php.ini대신에 사용하십시오 find.
sjas

@Michael이 파일은 /etc/php/5.6/apache2/php.iniUbuntu 16.04 LTS Xenial Xerus에 있으며 5.6/php 버전이 설치되어 있습니다. 먼저 파일을 복사 한 php.original.ini다음 편집을 위해 열 sudo gedit /etc/php/5.6/apache2/php.ini
Hedley Finger

답변:


288

당신이 가지고있는 세 파일은 각각 다른 용도로 사용됩니다.

/etc/php/5.6/cli/php.iniphp터미널에서 실행 하여 찾은 CLI PHP 프로그램을위한 것 입니다.

/etc/php/5.6/cgi/php.ini 이 설정에서 특별히 사용되지 않는 php-cgi 시스템 용입니다.

/etc/php/5.6/apache2/php.iniApache에서 사용하는 PHP 플러그인입니다. Apache 설정에 변경 사항을 적용 하려면 편집해야합니다 .

/etc/php/5.6/fpm/php.ini위한 php5-fpm(행의 nginx에서 핸드 오프 등 PHP 처리를위한 FastCGI를 호환 '래퍼'는 프로세서 php5-fpm) 및 (아파치 PHP 플러그인 달리) 시스템 독립 프로세스로 실행

우분투의 버전 낮은 16.04보다 /etc/php/5.6/, /etc/php/7.0/, /etc/php/7.1/, 등으로 대체하는 /etc/php5/등합니다. 그렇지 않으면 이러한 경로는 그대로 유지됩니다. 환경에 맞는 5.6실제 버전 폴더로 또는 번호를 바꾸어 환경에 맞게 조정하십시오 .


1
php.ini는 / etc / php5 / apache2 디렉토리에 없습니다. 그러나 그것은 cli 디렉토리에 있습니다.
Anuj TBE

2
@ anujsharma9196 유일한 이유는 PHP 용 Apache 내장 플러그인을 사용하지 않는 경우입니다. 파일 경로는 현재까지 여기에 나열된대로 작동합니다 (15.04 VM에서 확인 됨)
Thomas Ward

21

브라우저에서이 스 니펫이 포함 된 스크립트를 실행 한 <?php phpinfo(); ?>다음 로드 된 구성 파일 과 같은 것을 검색하십시오 . 이 항목은 PHP가 Apache 서버에서 사용하는 php.ini를 지정합니다.


14

php.ini사용중인 CLI 를 찾으려면 다음을 실행하십시오.

php -i | grep 'php.ini'

출력 예 :

$ php -i | grep 'php.ini'

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

이것이 정답입니다!
Marcelo Ágil

1
이것은 좋지만 PHP에 대해서만 CLI로드 구성을 제공합니다. 아파치로드 설정을 얻으려면 웹 페이지에서 phpinfo ()를 수행해야합니다.
Dipu Raj

13

php7 우분투 16.4

/etc/php/7.0/apache2/php.ini

1
해당 파일이 없습니다. 어떤 패키지가 해당 파일을 제공합니까?
galmok

ubuntu 16.4의 PHP7 용
Softmixt

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.