반응형
이번에는 맥에 php5를 설치해봅니다.
== 설치
Mac용 php5를 다음 사이트에서 다운받았습니다.
http://www.entropy.ch/software/macosx/php/
터미널에서 압축을 풀고(StuffIt Expander를 이용해서 압축을 풀지 말라고 합니다.) 패키지를 설치했습니다.
== 문제 발생 - 웹서버 동작 안함
설치하고 나니까 웹서버가 동작을 안하는 상황이 발생했습니다.
System Preference패널은 먹통이고, 터미널에서 시동을 해도 안되고.
== 해결.. 1
httpd.conf를 찾아서 봤습니다.
이런 설정 파일들은 왜 그렇게 찾기 힘든데 숨어들 있는지..
제 맥에서는 /private/etc/httpd에 있습니다.
php모듈 로딩 부분을 보자면
php4로딩 부분은 httpd.conf에 기본적으로 포함되어 있습니다.
php5는 Include를 이용하여 설정 파일을 읽어들이고 있습니다.
해당 디렉토리(/private/etc/httpd/users)에 +entroy-php.conf 파일이 있습니다.
이 파일의 내용은 아래와 같습니다.
가만히 생각해보니 httpd.conf에 기술한 설정대로 웹서버가 동작한다면 php4와 php5모듈을 모두 사용하게 끔 되어 있습니다.
php4관련 부분을 주석 처리하니까 동작합니다.
Hello World급의 소스인 phpinfo입니다.
웹서버도 말을 잘 듣고 php 정보도 잘 나옵니다. 얏호!!
== 또 다른 문제 발생
제로보드가 갑자기 동작을 안하네요. 제로보드의 소스 내용이 그대로 출력이 되는 상황이 발생했습니다.
왜 그런가 찾아보니 원인은 short_open_tag 때문이라고 합니다.
위의 설정을 변경하기 위해서는 php.ini(/usr/local/php5/lib/)에서 short_open_tag를 On으로 변경하고 웹서버를 재시작하면 됩니다.
그런데 제로보드4에서는 무한루프에 빠지는 현상이 발생합니다.
웹호스팅 업체의 서버는 PHP5가 깔려있는데 제로보드에 이상이 생기지 않네요.
끝까지 추적하기는... 설치 목적이 설치 자체가 아닌 이상에야~ 안하렵니다.
웹호스팅 받는 곳에서는 이와 같은 현상이 발생하지 않기 때문에 httpd.conf를 아래와 같이 수정해서 PHP4와 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, 아파치 설치 (1) | 2007.08.06 |
MetaBBS ?? (0) | 2007.04.18 |
웹 개발자들에게 어린 축복 jQuery. (0) | 2007.03.31 |