<?

if (function_exists('imagerotate')) {
        echo "imagerotate OK";

 } else {
        echo "imagerotate NO";

}

?>

예제는 수많은 php 함수 중 imagerotate 가 있는지 판별하여 있다면 imagerotate OK 를 출력하고 없다면 imagerotate NO 를 출력한다.
function_exists('imagerotate') 에 imagerotate 외 다른 함수를 입력하면 다른 함수 체크 가능

'Works > PHP' 카테고리의 다른 글

PHP 문자열 함수  (0) 2016.06.30
도메인을 판별하여 목적도메인으로 리다이렉션  (0) 2016.04.28
php 5.5 url 변수값 처리  (0) 2016.03.25
phpmyadmin 로그인 인증 방법  (0) 2016.02.26
PHP 언어셋 컨버팅  (0) 2015.12.16


/etc/skel 디렉토리 속에 public_html 디렉토리를 만들어 놓은 후에 사용자를 생성하면 된다.

/etc/skel 디렉토리 속의 내용을 새로생성되는 사용자의 홈디렉토리 속에 copy하는 것이 useradd 명령어가 하는 일 중의 하나임

그렇기 때문에 useradd 명령으로 사용자를 추가하기 전에 /etc/skel/public_html 을 만들어 놓으면 useradd 명령으로 사용자를 추가할 때마다

사용자의 홈디렉토리에 public_html 디렉토리가 생성됨.

index 파일을 미리 만들어 /etc/skel/public_html/ 속에 넣어두고 사용자를 생성하면 index 페이지도 사용자 홈디렉토리 밑의 public_html 에 복사됨.


binutils-2.17.50.0.6-14.el5 (이것은 바인드 패키지가 아님)
bind-chroot-9.3.6-16.P1.el5
bind-9.3.6-16.P1.el5
bind-libs-9.3.6-16.P1.el5
bind-utils-9.3.6-16.P1.el5

기본적으로 bind를 소스가 아닌 rpm으로 설치했을 때

위는 rpm -qa | grep bind 명령어의 결과이다.

보통 위의 4개 패키지들이 설치되어있을 것이다. (붉은색 제외)


 

MUA (Mail User Agent) : 클라이언트 메일 관리 ( 아웃룩, 썬더버드 기타 등등 프로그램들...)

 vi /etc/mail/sendmail.mc

아래 라인의 주석을 제거 (dnl제거)
- 52 lines : TRUST_AUTH_MECH('EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
- 53 lines : define('confAUTH_MECHANISMS', 'EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')
- 116 lines : DAEMON_OPTIONS ('Port=smtp, Addr=0.0.0.0, Name=MTA') 수정    // (127.0.0.1 → 0.0.0.0 수정, 모든 ip에서 사용가능)
- 123lines : DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea') 주석 해제

/etc/mail/sendmail.mc 파일을 새롭게 리빌드 (sendmail.cf 를 재생성)

- m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

요즘은 make -C /etc/mail 하면 변경내용이 설정파일에 적용이 된다네...

/etc/init.d/sendmail restart (정상적으로 재시작 되면 셋팅상 문제는 없을것이다) 

포트 확인 (netstat -nlp)

0.0.0.0:25 : 모든 아이피에 대해서 25번 오픈되어 있으면 정상인듯... 


모듈 직접 다운로드 시  아래 링크에서 다운로드 받을 것.

http://pecl.php.net/package/oauth

[참고] 버전 2.0.0 이상은 php7.0.0 버전 이상을 위한 것이므로 자신의 php 버전이 5.x 대이면 버전 1.2.3 을 다운로드 받을 것.

cd /usr/local/php/bin/
pecl download oauth 를 실행하면 최신버전의 oauth (2.0.1버전)만 다운로드 받아지므로 가급적 위 경로에서 맞는 버전을 직접 받을 것.

tar xvzf oauth-1.2.3.tgz 

(1.2.3 버전을 압축해제하여)

cd oauth-1.2.3

(oauth-1.2.3 디렉토리로 이동)
/usr/local/php/bin/phpize (
phpize 를 실행하여 확장 모듈 추가를 위한 환경을 구성한다)

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

(기존 php설치 디렉토리의 php-config를 사용)

make && make install
(컴파일을 실행한다)

설치가 완료 되면 php.ini 파일에 모듈 위치를 절대 경로로 삽입해주면 됩니다.

extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/oauth.so"
(경로는 설치환경에 따라 다를 수 있음)

[참고] make 과정 시 make: *** [oauth.lo] 오류 1 가 발생하면

yum install pcre 실행
yum install pcre-devel 실행

oauth-1.2.3.tgz

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

freetds 확장모듈 설치  (0) 2016.09.27
mod_mime_magic 설치  (0) 2016.08.01
CentOS6 에서 mcrypt 확장모듈 설치시의 방법  (0) 2016.02.26
PHP zip 확장모듈 설치  (0) 2016.02.26
PHP zlib 확장모듈 설치  (0) 2016.02.05


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" "파일명"