sysadm.kr/test.php?test_id=aaa

이렇게 했을때

test.php에서

<? echo $test_id ?> 하면 aaa가 찍혀야 되는데 안찍히는 이유는 php 5.5 버전에는 register_globals 옵션이 아예 존재하지 않기 때문이며

이런 경우 $test_id 대신 $_GET['test_id'] 로 변경하면 화면에 변수값이 출력된다.


1. 소스 Download

URL : http://sourceforge.net/projects/eaccelerator/files/eaccelerator/

2. 설치

# tar xvfz eaccelerator-0.9.6.1.tar.bz2
# cd eaccelerator-0.9.6.1
# PHP_PREFIX/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=PHP_PREFIX/bin/php-config
# make
# make install
# cd /var/tmp
# mkdir eaccelarator
# chmod 777 eaccelarator/

3. php.ini 파일 하단에 아래 항목 추가

[eAccelerator]
extension_dir="MAKE INSTALL시 나오는 모듈 경로"
extension=eaccelerator.so
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/var/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"

'Works > 설치매뉴얼' 카테고리의 다른 글

PHP 7.4 컴파일 (CentOS 7에서)  (0) 2021.08.17
Apache에 mod_cband 설치  (0) 2016.06.24
JDK(java) & tomcat 설치 총정리  (0) 2016.01.11
php pdo-mysql 확장 모듈 설치  (0) 2015.10.28
Apache 에 GeoIP 모듈설치  (0) 2015.10.28

gz 압축포맷은 기본적으로 CentOS 계열 리눅스 운영체제에 기본적으로 내포되어 있으며 이를 확인하려면

[root@sysadm ~]# rpm -qa | grep gzip
gzip-1.3.5-13.el5.centos

위 명령 실행결과 gzip 프로그램이 이미 설치되어 있음을 확인 할 수 있으며

미설치에는 yum -y install gzip 을  실행하면 된다.

1. gz 압축풀기

gzip -d filename.gz

gzip에 옵션 -d 를 주면 되는데 -d는 decompress의 줄임 표현이다.

* 압축이 해제되면 기존 압축파일은 자동으로 제거하고 압축해제된 파일만 남게 된다.

2. gz 압축하기

예를 들어서 222.jpg를 gz으로 압축한다면 아래와 같은 명령어를 사용하면 된다.

gzip 222.jpg

수행 결과로 222.jpg는 없어지고, 압축된 222.gz 파일이 생성된다.

gz은 여러개의 파일을 하나로 압축하는 용도가 아니며

여러개의 파일을 압축하려면 7z, zip, tar 압축을 사용하는 것을 권장한다.


제로보드4를 MySQL 5.5 버전 이상환경에 설치시 '관리자 테이블 생성 실패' 메시지가 나오면 이는 제로보드4의 핵심파일인

schema.sql 파일 내의 SQL 문법의 오류 때문이다.

schema.sql 파일 139라인에 보면 no int(11) default '0' not null auto_increment primary key, 가 있는데 이를 아래처럼

no int(11) not null auto_increment primary key, 로 변경한다.

또한 '받은 쪽지 또는 보낸 쪽지 테이블 생성 실패'가 뜨면 받은 쪽지의 경우 318라인의

no int(20) default '0' not null auto_increment primary key , 를 no int(20) not null auto_increment primary key ,

보낸쪽지의 경우 332라인의 no int(20) default '0' not null auto_increment primary key , 를

no int(20) not null auto_increment primary key , 로 변경하면 설치는 큰문제 없이 진행될 것이다.

하지만 설치 이후 게시판 생성시 '게시판의 메인 테이블 생성' 가 발생할수 있기 때문에 schema.sql 파일의 create table 쿼리문 중 auto_increment

와 default '0' 가 함께 정의된 라인을 모두 찾아 default '0' 를 제거해주면 게시판이 정상 생성되는 것을 확인할 수 있다.

요약하자면 에러 메시지 없이 한번에 설치를 진행하기 위해서는 schema.sql 파일의 default '0' 를 모두 제거해주면 되는 것이다.

아래는 위의 방법으로 수정한 제로보드 4 schema.sql 파일이니 혹시 문제 발생시 첨부된 schema.sql 파일로 덮어쓰기 하면 된다.

schema.sql



[쉘 프로그래밍을 위한 sed 활용 예제 정리]

1. 특정 패턴 아래 라인 삭제 또는 추가

sed -i '/apple.*/{n;d}' abc.txt  // apple패턴아래 1줄 삭제

[결과] cat abc.txt
apple
banana

sed -i 's,\(apple.*\),\1\ngrape,g' abc.txt  // apple패턴아래 grape 추가

[결과] cat abc.txt
apple
grape
ornage
banana

[원본]abc.txt 의 내용

apple
orange
banana


2. 개행문자 (newline) 이 2개 연속으로 있을 때를 이를 1개로 변경하는 명령

sed -i '/^$/N;/^\n$/D' filename

filename 의 내용중 newline 이 2개 연속으로 있을때 이를 1개로 치환하며  -i 옵션은 변경된 내용을 출력하지 않고 filename 에 저장


3. sed 명령어에 변수사용

sed "s/abc/$dma/g" 와 같이 큰따옴표(") 안에 변수를 사용하면 된다.
sed 's/abc/$dma/g' 명령어는 abc 문자를 $dma 라는 문자로 바꾸라는 뜻이다.

즉, 작은따음표의 경우에는 $dma를 변수 dma로 인식하지 않고 문자열 $dma로 인식한다. 

 

4. 특정패턴 위/아래 에 내용 추가

sed "/찾을패턴/i추가할패턴" 파일명  (상단에 추가)
sed "/찾을패턴/a추가할패턴" 파일명 (하단에 추가)

 

5. 특정 라인 맨 앞/뒤 내용 추가

 

sed "행번호s/^/문자열/" 파일명 (라인 맨 앞 추가)
sed "행번호s/$/문자열/" 파일명 (라인 맨 뒤 추가)

 

6. 변수 값에 슬래쉬 (/) 가 포함된 값을 치환 할 때

[예제]
var="/home/user1/public_html" 변수 값 앞에 주석 (#) 을 붙인다고 하면
sed -i "s~$var~#$var~g" "파일명"

 

7. 문자열 앞/뒤 공백 제거

's/^ *//g' : 앞 공백 제거
's/ *$//g' : 뒤 공백 제거

[응용] 문자열 맨 앞/뒤 공백 한번에 제거

sed -e 's/^ *//g' -e 's/ *$//g' > test.txt


CentOS 6 넘어오면서부터 yum install 에서 libmcrypt libmcrypt-devel 이 지원되지 않는다.

따라서 아래의 방법으로 진행해야하며

1. vi /etc/yum.repos.d/epel.repo

해당 파일에 아래의 내용을 저장한다.


[EPEL]
name=epel
type=rpm-md
baseurl=http://ftp.neowiz.com/fedora-epel/6/x86_64
gpgcheck=1
gpgkey=http://ftp.neowiz.com/fedora-epel/RPM-GPG-KEY-EPEL-6
enabled=1


2. yum clean all

3. yum install libmcrypt libmcrypt-devel

(Cent 5 의 경우 위 과정은 생략)

4. 동일 버전의 php 소스에서


예) php-5.2.17 의 경우


cd php-5.2.17/ext/mcrypt


/usr/local/php/bin/phpize
aclocal

./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

그러면 아래와 같이 mcrypt.so 파일이 해당 경로에 만들어졌다고 나오는데

/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613

php.ini 파일 하위에

extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/mcrypt.so

처럼 추가하고 웹서버 재시작하면 된다.

'Works > 확장모듈설치매뉴얼' 카테고리의 다른 글

mod_mime_magic 설치  (0) 2016.08.01
oAuth 확장모듈 설치  (0) 2016.03.29
PHP zip 확장모듈 설치  (0) 2016.02.26
PHP zlib 확장모듈 설치  (0) 2016.02.05
PHP 수호신(Suhosin) 설치  (0) 2016.01.29


PHP zip 확장모듈 설치

* php source 위치 : /usr/local/src/php-5.2.17
* php.ini 위치 : /usr/local/apache/conf/php.ini

1. 설치된 버전의 php 소스 다운로드 또는 원소스 디렉토리로 이동

 - cd /usr/local/src/php-5.2.17/ext/zip

2. 1번의 해당 경로에서 아래의 명령어 실행

 - /usr/local/php/bin/phpize

3. configure

 - ./configure --with-php-config=/usr/local/php/bin/php-config --enable-zip

4. make

5. make install (make install 시 마지막 zip.so 경로 확인)

6. php.ini 설정

7. apache 재시작

/etc/init.d httpd restart or /usr/local/apache/bin/apachectl restart



출처 : http://wnstjqdl.tistory.com

 

'Works > 확장모듈설치매뉴얼' 카테고리의 다른 글

oAuth 확장모듈 설치  (0) 2016.03.29
CentOS6 에서 mcrypt 확장모듈 설치시의 방법  (0) 2016.02.26
PHP zlib 확장모듈 설치  (0) 2016.02.05
PHP 수호신(Suhosin) 설치  (0) 2016.01.29
soap 모듈 추가 설치  (0) 2016.01.08


config.inc.php 파일을 열어 보면 여러 항목들 중

$cfg['Servers'][$i]['auth_type']     = 'cookie';  항목이 있는데 'cookie' 값을 http 또는 config 로 변경가능하며

아래는 지시자별 세부 내용이다.

http : .htaccess를 이용해서 MySQL 내의 계정(리눅스나 유닉스의 계정이 아닌 MySQL 내의 계정)을
이용해서 접속을 하는 방식

config : config.inc.php 파일 내에 아이디와 비밀번호를 저장하는 방식 (보안상 위험해 권장할 만한 사항이 아님)

만일 config 로 인증할 때 아래 변수에 User name 과 패스워드를 입력해야한다.

$cfg['Servers'][$i]['user']          = '';            // MySQL user
$cfg['Servers'][$i]['password']      = '';          // MySQL password (only needed with 'config' auth_type) 

cookie : session 방식으로 ID&Password 을 입력받아 암호화 해서 기록하는 방식

 


1. 현재폴더에서 하위 폴더 삭제

ll | grep ^d | awk '{print $NF}' | xargs rm -rf

2. 특정폴더에서 하위 폴더 삭제

ll /폴더/경로/ | grep ^d | awk '{print $NF}' | xargs rm -rf

common.php 파일 내부에

include_once("$g4[path]/$dbconfig_file");
$connect_db = sql_connect($mysql_host, $mysql_user, $mysql_password);
$select_db = sql_select_db($mysql_db, $connect_db);
mysql_query("set names euckr");

mysql_query("set names euckr"); 를 최하단에 추가해준다.