2017-11-13 18 views
0

나는이 Docker instance of a linux debian:jessie을 PHP 5.6에서 실행 중입니다.내 php.ini는 어디에로드됩니까?

이 내은 phpinfo의 일부입니다

enter image description here

우리는 php.ini

/usr/local/etc/php 

에 위치해야 볼 수 있습니다 그리고 이것은 내가 내/usr/지방/등이 무엇으로/

enter image description here

하지만 내부에는 php.ini가 없습니다.

내가 다른 한편으로, 나는

enter image description here

내부의 php.ini 그래서, 정확히 어디에서 내 php.ini 파일이로드되고 있나요?

우리는 실행중인 PHP 프로세스가 없지만 php는 괜찮은 것 같습니다. 화면에 phpinfo가 표시됩니다.

enter image description here

+0

Docker 컨테이너에 담겨 있습니까? –

+0

예 다른 터미널을 통해 액세스 할 수 있습니다. – zwitterion

+0

그리고 이것들은 Docker 컨테이너 안에있는 귀하의 디렉토리입니까? –

답변

0

답변으로 해보자 :

그것은 전혀 존재하지 않는, PHP는 기본 옵션을 실행하는 것을 의미한다.

docker 파일을 보면 "깨끗한"OS에서 시작하여 Apache와 PHP를 설치합니다. 그러나 결코 php.ini 파일을 PHP 설치에서/usr/local/etc/php로 복사하지 않습니다. 실제로 31 행과 32 행에서는 conf.d 디렉토리를 생성하지만 그게 다.

도커 파일 끝에 php.ini-production을 /usr/local/etc/php.ini에 복사하고 필요에 따라 편집하는 코드를 추가 할 것을 제안합니다. 또는 기본 옵션을 사용하십시오.

+0

기본 php.ini를 어떻게 사용합니까? – zwitterion

+0

먼저 수동으로 시도하십시오.도저를 수동으로 시작하고 bash를 통해 액세스하십시오. 그런 다음 찾은 곳의 파일을/usr/local/php에 복사하십시오. 파일을 편집하고 설정을 변경 한 다음 phpinfo를 통해 파일이 변경되었음을 확인하십시오. 그런 다음 도커 파일을 편집하여 동일한 작업을 수행하십시오. 도커 수정 + 재 구축 + 배포를 수행하는 방법을 알고 있습니까? (암시, COPY 명령!) – Nic3500

+0

나는 모른다. 그러나 나는 찾을 것이다. 나는 단지 도커와 이야기하고있다. – zwitterion

0

짧은 대답은 당신이 필요 없다는 것입니다. 누락되었거나 확장 프로그램을 추가하려는 경우 docker-php-ext-install 또는 docker-php-ext-enable을 사용하여 Dockerfile에서 확장 프로그램을 추가 할 수 있습니다.

대부분의 일반적인 것들은 mbstring과 같이 간단히 활성화 할 수 있지만 덜 일반적인 것들은 pecl을 먼저 실행하거나 패키지를 가져와야 할 수도 있습니다. 좀 봐봐 this Docker documentation page for more information on php extensions

0

나는 같은 문제가있다. php.ini 파일을/usr/local/etc/php에 복사했지만 아무 일도 일어나지 않습니다. PHP를 디버그하기 위해서는이 액세스 권한이 필요합니다. 나는 오류가 있지만 나는 그들을 볼 수 없다.

누구든지 문제를 해결하는 방법을 알고 계십니까?

이미지와 함께 도커 작성하기 : php : 5.6-apache