본문 바로가기

smells digital

맥에 PHP5설치..

이번에는 맥에 php5를 설치해봅니다.

== 설치

Mac용 php5를 다음 사이트에서 다운받았습니다.
http://www.entropy.ch/software/macosx/php/

터미널에서 압축을 풀고(StuffIt Expander를 이용해서 압축을 풀지 말라고 합니다.) 패키지를 설치했습니다.


== 문제 발생 - 웹서버 동작 안함

설치하고 나니까 웹서버가 동작을 안하는 상황이 발생했습니다.
System Preference패널은 먹통이고, 터미널에서 시동을 해도 안되고.


== 해결.. 1

httpd.conf를 찾아서 봤습니다.
이런 설정 파일들은 왜 그렇게 찾기 힘든데 숨어들 있는지..
제 맥에서는 /private/etc/httpd에 있습니다.

php모듈 로딩 부분을 보자면
php4로딩 부분은 httpd.conf에  기본적으로 포함되어 있습니다.

#LoadModule php4_module        libexec/httpd/libphp4.so
...

#AddModule mod_php4.c

<IfModule mod_php4.c>
    # If php is turned on, we repsect .php and .phps files.
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    # Since most users will want index.php to work we
    # also automatically enable index.php
    <IfModule mod_dir.c>
        DirectoryIndex index.html index.php
    </IfModule>
</IfModule>

php5는 Include를 이용하여 설정 파일을 읽어들이고 있습니다.

Include /private/etc/httpd/users/*.conf


해당 디렉토리(/private/etc/httpd/users)에 +entroy-php.conf 파일이 있습니다.
이 파일의 내용은 아래와 같습니다.

LoadModule php5_module        /usr/local/php5/libphp5.so

<IfDefine APACHE1>
AddModule mod_php5.c
</IfDefine>

<IfModule mod_php5.c>

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    <IfModule mod_dir.c>
        DirectoryIndex index.html index.php
    </IfModule>

</IfModule>


가만히 생각해보니 httpd.conf에 기술한 설정대로 웹서버가 동작한다면 php4와 php5모듈을 모두 사용하게 끔 되어 있습니다.
php4관련 부분을 주석 처리하니까 동작합니다.


Hello World급의 소스인 phpinfo입니다.

<?php phpinfo() ?>



웹서버도 말을 잘 듣고 php 정보도 잘 나옵니다. 얏호!!



== 또 다른 문제 발생

제로보드가 갑자기 동작을 안하네요. 제로보드의 소스 내용이 그대로 출력이 되는 상황이 발생했습니다.

왜 그런가 찾아보니 원인은 short_open_tag 때문이라고 합니다.

short_open_tag는 php코드에서 <?php의 축약형 <?를 사용하는 옵션

위의 설정을 변경하기 위해서는 php.ini(/usr/local/php5/lib/)에서 short_open_tag를 On으로 변경하고 웹서버를 재시작하면 됩니다.

그런데 제로보드4에서는 무한루프에 빠지는 현상이 발생합니다.


웹호스팅 업체의 서버는 PHP5가 깔려있는데 제로보드에 이상이 생기지 않네요.
끝까지 추적하기는... 설치 목적이 설치 자체가 아닌 이상에야~ 안하렵니다.

웹호스팅 받는 곳에서는 이와 같은 현상이 발생하지 않기 때문에 httpd.conf를 아래와 같이 수정해서 PHP4와 PHP5를 번갈아 가면서 사용하고 있습니다.

<IfModule !mod_php4.c>
    Include /usr/local/php5/entropy-php.conf
</IfModule>




반응형

'smells digital' 카테고리의 다른 글

[PHP] 첨부 파일의 용량 제한을 조절해보자.  (6) 2008.01.30
MySql on Leopard  (0) 2007.11.29
맥에 PHP5설치..  (0) 2007.08.08
윈도우에 PHP5, 아파치 설치  (1) 2007.08.06
MetaBBS ??  (0) 2007.04.18
웹 개발자들에게 어린 축복 jQuery.  (0) 2007.03.31