[php] APM(Apache, php, MySQL) 설치
2008.06.20
* cafe24.com
Apache 1.3.37 p3 -> 2.0.63
PHP Version 4.4.7 -> 4.4.8 -> 5.2.6
- php4의 mysql Client API version 이 3.23.49 로 고정(내장으로 업그레이드 불가)
-> php5로 업그레이드
MySQL : API Version 5.0.37 -> 5.0.51b
mysql --verion
mysql -u user -p
select version();
<?php printf("MySQL server version: %s\n", mysql_get_server_info()); ?>
* 설치 영문 매뉴얼
http://www.php-mysql-tutorial.com/install-apache-php-mysql.php
//===============================================================================
* 아파치 설치
다운로드 : http://mirror.apache-kr.org/httpd/binaries/win32/
apache2/conf/httpd.conf 수정
루트웹폴더 변경
DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs" -> 다른 이름으로
Options Indexes FollowSymLinks -> Indexes를 뺀다
DirectoryIndex index.html index.html.var -> index.php 추가
//===============================================================================
* PHP 설치
다운로드 : http://kr2.php.net/downloads.php
[PHP4]
c:\php4로 다운받은 파일 복사 <-중요 !! 폴더 고정
c:\php4\php.ini 수정 : extension_path = "c:\php4\extensions"
php4ts.dll를 아파치루트\bin에 복사
아파치 설정 파일(httpd.conf) 에 다음 라인 추가
LoadModule php4_module php/sapi/php4apache2.dll
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
* 추가 모듈
php_iconv.dll, php_gd2.dll - 제로보드 설치시에 필요
php_mbstring.dll - 문자코드변환
- 추가 방법 :
php.ini 에 관련 항의 주석을 없앤다.
apache 에러 로그 확인으로 php.ini의 extension_path설정이 통하지 않으면 c:\php4에 관련 모듈 파일 복사
* php4의 문제점 :
mysql Client API version 이 3.23.49 로 고정(내장으로 업그레이드 불가)
새로운 mysql 패스워드를 사용할수 없다.
mysqli_()의 향상된 함수를 사용 불가
[PHP 5]
php-5.2.6-win32-installer.msi
install 파일을 통해서 설치
- 주의 : extension 옵션 을 선택하지 않는다. (만약 모두 선택하면 웹서버 시작이 되지 않는다.)
mysql Client API version = 5.0.27 - 기본 설치시
* 업그레이드 후 문제 : 소스유출(소스가 그대로 보임)
'<?' 을 '<?php' 로 변경하면 된다
<?= 도 <?php echo 로 변경해야 한다.
이것을 하기 싫으면 php.ini 에서 short_open_tag = On 으로 수정
아파치 재시작후
<?php phpinfo(); ?>
로 확인
//===============================================================================
* Mysql 설치
다운로드 : http://dev.mysql.com/downloads/mysql/5.0.html#downloads
* 제로보드에 글 않써지는 현상 해결
- mysql의 Strict Mode를 OFF 시킨다. - 설치시에 옵션에서 빼도 된다.
- my.ini : sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 를 아래로 변경
-> sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
* php mysql Client API version 3.23.49
-> php4는 mysql 모듈이 내장되어 업그레이드가 않된다.(리눅스는 재 컴파일 하면 되지만. 윈도우는 불가?)
-> 결국 이문제 때문에 php5로 업그레이드
Download Connector/PHP = http://mysql2.mirrors-r-us.net/downloads/connector/php/index.html
mysql extension (PHP 5.2.0) * for MySQL Server 5.0.27 (~800k)
이것으로 수정을 해도 Client API version 은 계속 3.23.49
- 다음의 구문 실행에 문제가 없으면 설치 성공
<?php
if( $link = mysql_connect('localhost', 'user', 'pass' ) ){ die("SQL server에 연결할 수 없습니다." . mysql_error() ) }
printf("MySQL client info: %s\n<br>", mysql_get_client_info());
printf("MySQL host info: %s\n<br>", mysql_get_host_info());
printf("MySQL protocol version: %s\n<br>", mysql_get_proto_info());
printf("MySQL server version: %s\n<br>", mysql_get_server_info());
printf("MySQL current character set is: %s\n<br>", mysql_client_encoding($link) );//이부분은 수정이 안됨??
?>
* my.ini 수정
default-character-set=utf8
-> 수정을 해도 mysql_client_encoding()함수결과가 계속 latin1으로 나옴(아직 해결못함, utf8동작은 정상)
default-storage-engine=myisam
* Navicat 에서 utf8 사용 방법
- DB로그인시 DB 문자셋 설정을 기본으로 놓으면 않되고(utf8로 보여도) 꼭 utf8로 설정을 해줘야 정상동작
* DB 생성시에도 utf8 설정 확인
* 로그인이 않될 경우
- mysql 의 로그인 계정 암호를 이전 방식으로 바꾼다.
http://dev.mysql.com/doc/refman/5.0/en/old-client.html - 참고
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
2008.06.20
* cafe24.com
Apache 1.3.37 p3 -> 2.0.63
PHP Version 4.4.7 -> 4.4.8 -> 5.2.6
- php4의 mysql Client API version 이 3.23.49 로 고정(내장으로 업그레이드 불가)
-> php5로 업그레이드
MySQL : API Version 5.0.37 -> 5.0.51b
mysql --verion
mysql -u user -p
select version();
<?php printf("MySQL server version: %s\n", mysql_get_server_info()); ?>
* 설치 영문 매뉴얼
http://www.php-mysql-tutorial.com/install-apache-php-mysql.php
//===============================================================================
* 아파치 설치
다운로드 : http://mirror.apache-kr.org/httpd/binaries/win32/
apache2/conf/httpd.conf 수정
루트웹폴더 변경
DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs" -> 다른 이름으로
Options Indexes FollowSymLinks -> Indexes를 뺀다
DirectoryIndex index.html index.html.var -> index.php 추가
//===============================================================================
* PHP 설치
다운로드 : http://kr2.php.net/downloads.php
[PHP4]
c:\php4로 다운받은 파일 복사 <-중요 !! 폴더 고정
c:\php4\php.ini 수정 : extension_path = "c:\php4\extensions"
php4ts.dll를 아파치루트\bin에 복사
아파치 설정 파일(httpd.conf) 에 다음 라인 추가
LoadModule php4_module php/sapi/php4apache2.dll
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
* 추가 모듈
php_iconv.dll, php_gd2.dll - 제로보드 설치시에 필요
php_mbstring.dll - 문자코드변환
- 추가 방법 :
php.ini 에 관련 항의 주석을 없앤다.
apache 에러 로그 확인으로 php.ini의 extension_path설정이 통하지 않으면 c:\php4에 관련 모듈 파일 복사
* php4의 문제점 :
mysql Client API version 이 3.23.49 로 고정(내장으로 업그레이드 불가)
새로운 mysql 패스워드를 사용할수 없다.
mysqli_()의 향상된 함수를 사용 불가
[PHP 5]
php-5.2.6-win32-installer.msi
install 파일을 통해서 설치
- 주의 : extension 옵션 을 선택하지 않는다. (만약 모두 선택하면 웹서버 시작이 되지 않는다.)
mysql Client API version = 5.0.27 - 기본 설치시
* 업그레이드 후 문제 : 소스유출(소스가 그대로 보임)
'<?' 을 '<?php' 로 변경하면 된다
<?= 도 <?php echo 로 변경해야 한다.
이것을 하기 싫으면 php.ini 에서 short_open_tag = On 으로 수정
아파치 재시작후
<?php phpinfo(); ?>
로 확인
//===============================================================================
* Mysql 설치
다운로드 : http://dev.mysql.com/downloads/mysql/5.0.html#downloads
* 제로보드에 글 않써지는 현상 해결
- mysql의 Strict Mode를 OFF 시킨다. - 설치시에 옵션에서 빼도 된다.
- my.ini : sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 를 아래로 변경
-> sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
* php mysql Client API version 3.23.49
-> php4는 mysql 모듈이 내장되어 업그레이드가 않된다.(리눅스는 재 컴파일 하면 되지만. 윈도우는 불가?)
-> 결국 이문제 때문에 php5로 업그레이드
Download Connector/PHP = http://mysql2.mirrors-r-us.net/downloads/connector/php/index.html
mysql extension (PHP 5.2.0) * for MySQL Server 5.0.27 (~800k)
이것으로 수정을 해도 Client API version 은 계속 3.23.49
- 다음의 구문 실행에 문제가 없으면 설치 성공
<?php
if( $link = mysql_connect('localhost', 'user', 'pass' ) ){ die("SQL server에 연결할 수 없습니다." . mysql_error() ) }
printf("MySQL client info: %s\n<br>", mysql_get_client_info());
printf("MySQL host info: %s\n<br>", mysql_get_host_info());
printf("MySQL protocol version: %s\n<br>", mysql_get_proto_info());
printf("MySQL server version: %s\n<br>", mysql_get_server_info());
printf("MySQL current character set is: %s\n<br>", mysql_client_encoding($link) );//이부분은 수정이 안됨??
?>
* my.ini 수정
default-character-set=utf8
-> 수정을 해도 mysql_client_encoding()함수결과가 계속 latin1으로 나옴(아직 해결못함, utf8동작은 정상)
default-storage-engine=myisam
* Navicat 에서 utf8 사용 방법
- DB로그인시 DB 문자셋 설정을 기본으로 놓으면 않되고(utf8로 보여도) 꼭 utf8로 설정을 해줘야 정상동작
* DB 생성시에도 utf8 설정 확인
* 로그인이 않될 경우
- mysql 의 로그인 계정 암호를 이전 방식으로 바꾼다.
http://dev.mysql.com/doc/refman/5.0/en/old-client.html - 참고
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
반응형
'Code > PHP' 카테고리의 다른 글
라온 보드 수동 설치 (0) | 2018.09.25 |
---|---|
(라라벨) Valet 설치 (윈도우 용) (0) | 2018.09.21 |
APM(Apache, PHP, Mysql) 설치 - 2012/06 (0) | 2012.10.25 |
[php] session_start()에서 에러가 날때 (0) | 2012.08.21 |
[php] EUC-KR 에서 UTF-8로 변환 (0) | 2008.11.05 |