Mac OS X Lion에서 PHP.ini는 어디에 있습니까? 그것이 / usr / local / php5 / lib에 있다고 생각했습니다.


268

내 Mac에서 일부 PHP를 실행하고 싶지 않은 httpd.conf, 활성화 된 웹 공유, 설치된 MySQL 등을 실행하고 싶었습니다. PHP 파일, 가장 중요한 것은 PHP.ini를 찾을 수없는 것 같습니다.

내 오래된 컴퓨터에서는 / usr / local / php5 / lib에 있었지만 php5 디렉토리는 / usr / local에 없습니다.

패키지를 받아야합니까, 아니면 잘못된 장소를보고 있습니까?

OS X 10.7.3, PHP 5.3.8, Apache / 2.2.21 실행


9
위치를 찾는 쉬운 방법은 phpinfo ();
ralfe

10
또는locate php.ini
Pekka

12
@ralfe phpinfo () 또는 php --ini(터미널 창에서 실행 )에서 '로드 된 구성 파일'설정을 찾아야합니다 . php.ini가 없으면 둘 다 구성 파일 경로를 /etc(적어도 내 OS X 10.8 설치에서는) 로보 고합니다. 구성 파일이로드되지 않은 경우 mac으로 답변을
Jason S

/ usr / local / php5는 entropy.ch와 liip.ch의 php-installer가 php를 설치하는 곳입니다. 그것은 Apples php-installation의 위치가 아닙니다.
heiglandreas

8
이렇게php -i | grep php.ini

답변:


396

존재하는 경우 / private / etc에서 찾으십시오.

sudo cp /private/etc/php.ini.default /private/etc/php.ini

좋아, / private / etc에 php.ini.default가 있으며 체크 아웃하고 있습니다. 하지만 왜 내 오래된 php5 폴더가 usr / local에 없습니까? 권장되는 php.ini를 포함하여 파일이 많이있었습니다. 최신 버전, PHP5 또는 Lion 또는 다른 버전의 변경입니까?
Orun

PHP5는 기본적으로 php.ini 파일의 위 위치와 함께 10.5 이후 MacOS X에 포함되어 있습니다. 수동으로 설치 한 경우 Lion으로 업그레이드하는 동안 제거하지 않아야합니다. 이상한 ...

2
php.ini가 없으면 Lion 시스템의 php.ini.default 파일이 모든 기본 설정과 일치하지 않습니다. 특히 short_tags는 Off, error_reporting, log_errors이며 일부 사소한 설정이 다릅니다. php -iphp.ini를 만들기 전과 후의 결과를 비교하고 싶을 것 입니다.
spoulson

1
내 Mac에서 /private/etc/php.ini에 파일이 있었지만 php는 내가 변경 한 내용을 무시하는 것 같았습니다. 대신 /usr/local/php5/lib/php.ini에있는 파일을 사용하고있었습니다
키트 라모스

2
이 대답은 올바른 방향으로 나를 가리 켰습니다. cp php.ini.default> php.ini 및 CLI로드 구성은 /etc/php.ini가되었습니다. PHP -i 확인 | grep php.ini after
bpile

407

머신에서 ini 파일을 찾으려면 Terminal.app다음 명령을 열고 실행하십시오.

php --ini

Lion 용 템플릿이 필요한 경우 다음을 시도 하십시오 .


2
지금은 php.ini를로드하지 않았습니다. 기본적으로 "권장"php.ini 템플릿이있는 디렉토리를 찾고 있습니다.
Orun

47

터미널에서 php -i | grep php.ini. 단서를 제공해야합니다.)


26

@Cronk 및 @Justin의 답변은 Mac OS X 10.9 Mavericks에서 가깝습니다. 실제로 내 시스템에서 /etc/php.ini파일이 완전히 누락되었으며 phpinfo()구성 파일이 없다는 것을 웹 서버에서 실행하기 전까지 는 아니 었습니다. 파일을 복사하고 라이브러리 /etc/php.ini.default완전한 경로mcrypt.so구성 파일에 추가하면 문제가 해결되었습니다.

cp /etc/php.ini.default /etc/php.ini

그런 /etc/php.ini다음 mcrypt.so파일에 올바른 경로를 사용하여 다음 줄 을 추가하십시오 .

extension="/usr/local/Cellar/php54-mcrypt/5.4.29/mcrypt.so"

그런 다음 Apache2를 다시 시작하십시오.

apachectl restart

세상에, 당신은 나의 영웅입니다 !! mcrypt의 전체 경로를 사용하는 아이디어에 감사드립니다!
Hese

25

지적했듯이, php --ini명령은 PHP가 php.ini 파일을 찾을 위치를 알려줍니다.

표준 설치의 경우 /etc/php.ini

macports 를 사용 했다면 PHP가 찾고있을 것입니다/opt/local/etc/php5/php.ini


7
> 개인 / 등 -은 / etc : 등 / 개인 등에 대한 링크입니다
pm_labs

21

phpinfo()모든 파일에서 실행 하면 파일의 위치를 ​​알려줍니다. 다음은 스크린 샷입니다.

여기에 이미지 설명을 입력하십시오


3
이것은 다른 "default"폴더에서 php.ini의 사본을 찾을 수 있기 때문에 가장 좋은 방법입니다. 그러나이 방법으로 실제로 사용중인 폴더를 알 수 있습니다. 변경하지만 PHP는 상기 변경을 완전히 인식하지 못하는 것 같습니다.
키트 라모스

당신은 또한 당신이 실행하는 php -a곳을 실행하여 쉘에서 PHP REPL을 열 수 있습니다 phpinfo();.
metakermit

14

PHP 인스턴스가 두 번 이상 실행되어 다른 답변이 작동하지 않았습니다. 이것은했다 :

PHP 파일을 생성하고 브라우저에서 로컬 URL을 엽니 다 :

<?php phpinfo(); ?>

PHP.INI 경로가 맨 위에 가까이 표시됩니다.


3

이것은 다소 오래된 스레드이지만 추가 설명을 추가하고 싶습니다.

PHP 설치가 여러 개인 시스템 (예 : 광산)이있는 경우 명령 줄 도구를 사용하여 얻은 결과는 웹 서버에서 실제로 사용하는 것과 다를 수 있습니다. 웹 서버에서 사용중인 PHP에 관심이 있다면 'phpinfo ()'함수를 사용하는 웹 페이지에서 수집 한 정보 만 사용하십시오.

예를 들어, 내 시스템에서 두 가지 다른 방법으로보고 된 버전은 다음과 같습니다.

커맨드 라인 : 5.3.26

웹 : 5.3.13

php.ini 파일 경로의 경우도 다릅니다.

명령 줄 : /private/etc/php.ini

웹 : /long/path/to/the/file/php.ini

다음을 사용하여 가능한 모든 php.ini 파일을 찾을 수 있습니다.

찾기 / -name php.ini 2> & 1 | grep -v "거부 됨"| grep -v "디렉토리"

( '2> & 1'및 'grep'요소는 명령 출력을 유용한 정보로 제한합니다 (예 : 오류 메시지 제거)

내 시스템에서 3 개의 INI 파일을 찾았습니다. 웹 서버가 사용하는 것에 관심이 있었기 때문에 웹 페이지 결과에서 반환 된 경로를 사용해야한다는 것을 알고있었습니다. 나는 거기에 나열된 php.ini 파일을 변경하고 아파치를 다시 시작한 다음 웹 페이지를 다시 실행했습니다. 새로운 편집 내용이 거기에 표시되었습니다.

아파치를 다시 시작하려면 :

sudo apachectl -k restart

-- 제이


1

나는 'Hello World!'로 시작합니다. 일단 브라우저에 표시되면 phpinfo();거기에 들어가서 모든 것을 볼 수 있습니다. 로드 된 구성을 모두 알려줍니다.

<?php
   echo 'Hello World!';

   phpinfo();

0

php_info ()를 실행하고 다음 줄을 참조하십시오 :)

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