php 에서 mysql 접속 테스트 소스

리눅스/PHP|2015. 1. 16. 10:34
반응형

php 7 버전 부터는 mysql_connect 대신 mysqli_connect 를 사용합니다.


<?

$conn = mysqli_connect("localhost", "sysdocu", "12345678");


if ($conn) {

    echo "연결 성공";

} else {

    echo "연결 실패";

}

?>



반응형

'리눅스 > PHP' 카테고리의 다른 글

configure: error: libjpeg.(a|so) not found  (0) 2015.01.16
soap 추가 설치  (0) 2015.01.16
PHP 가속프로그램 eaccelerator  (0) 2015.01.16
PHP 소스 암호화  (0) 2015.01.16
특정 함수 사용 못하게 하기  (0) 2015.01.16

댓글()

PHP 가속프로그램 eaccelerator

리눅스/PHP|2015. 1. 16. 10:34
반응형

1. eAccelerator 를 다운받자

 

http://bart.eaccelerator/source/

 

 

최신 버전을 확인하고

 

# wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2

 

 

 

2. 압축을 풀자

# tar -xvjf eaccelerator-0.9.6.1.tar.bz2

 

3. phpize

phpize 를 이용하여 설치할탠데.. phpize 가안되면

 

#yum install php-devel.i386

 

으로 설치를 하자

 

 

4. phpize

압축을 푼 eAccelerator 디렉토리로 들어가서

phpize 를 실행하자

/usr/bin/phpize

 

 

 

5. configure

# ./configure --enable-eaccelerator=shared --with-php-config=/usr/bin/php-config

 

 

 

 

 

6. make

 

7. make test

 

8. make install

 

/usr/lib/php/modules/ 에 가보면

 

 

 

9. 캐쉬디렉토리 생성

# mkdir /var/tmp/eaccelerator
# chown apache:apache /var/tmp/eaccelerator/
# chmod 700 /var/tmp/eaccelerator/

 

캐쉬디렉토리는 어디든 상관없으나, /tmp 에 생성하면 서버가 재부팅될때 사라지므로 주의하자

 

10. php.ini 설정

[eAccelerator]

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″

 

 

11. 설정 reload

#service httpd reload

 

 

12. 설치 확인

#php -v

 

아래와 같이

with eAccelerator v0.9.6.1 나오면 성공!

 

 

 

 

 

과연 얼마나 속도가 향상 됬는지 확인해보자

 

다시 Zend Guard Loader 설치후 시험했던 옛 동아리홈피에서 실험해본다

 

6.52s (onload: 6.53s)

5.66s (onload: 5.67s)

5.97s (onload: 5.99s)

6.52s (onload: 6.53s)

6.02s (onload: 6.04s)

5.56s (onload: 5.58s)

6.58s (onload: 6.61s)

5.77s (onload: 5.79s)

6.58s (onload: 6.6s) 

6.7s (onload: 6.73s) 

 

평균 : 6.207 ...

 

빨라진게 맞을까.. 아니면 내가 잘못했을까..

 

[출처] 중성자 별의 충돌 에너지 | NextCube (http://blog.nextcube.pe.kr/174)

반응형

'리눅스 > PHP' 카테고리의 다른 글

soap 추가 설치  (0) 2015.01.16
php 에서 mysql 접속 테스트 소스  (0) 2015.01.16
PHP 소스 암호화  (0) 2015.01.16
특정 함수 사용 못하게 하기  (0) 2015.01.16
PHP OpenSSH2 (libssh2) 설치  (0) 2015.01.16

댓글()

PHP 소스 암호화

리눅스/PHP|2015. 1. 16. 10:33
반응형


PHP 소스를 암호화 하는 경우는 mysql 접속 계정이 들어있는 파일이나 ftp 접속 계정, 계정 생성 암호화 방식, DB테이블 구조 등 여러가지 이유에서 소스를 아무도 열어볼 수 없게 하고 싶을 때 입니다.

일반적으로 소스 파일을 열어보면 누구나 쉽게 내용을 볼 수 가 있죠. 이것을 바이너리 파일로 변환하여 알아볼 수 없게 만듭니다.

그러나 파일자체로서는 동작을 합니다.

(중요) 소스를 암호화 하면 내용을 복호화 하지 못하므로, 개발자는 암호화되기전의 원본 소스 파일을 별도로 보관해야 합니다.

그럼 사용방법을 알아보도록 하겠습니다.



1. 다운로드


# cd /usr/local/src


# wget wget --no-check-certificate http://sourceforge.net/projects/php-screw/files/php-screw/1.5/php_screw-1.5.tar.gz

 

 

2. 설치


# cd php_screw-1.5


# /usr/local/php/bin/phpize


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


# make


make 명령에서 에러날 경우


/usr/local/src/php_screw-1.5/php_screw.c: In function 'pm9screw_compile_file':

/usr/local/src/php_screw-1.5/php_screw.c:78: error: too few arguments to function 'org_compile_file'

/usr/local/src/php_screw-1.5/php_screw.c:84: error: too few arguments to function 'org_compile_file'

/usr/local/src/php_screw-1.5/php_screw.c:93: error: too few arguments to function 'org_compile_file'

make: *** [php_screw.lo] 오류 1


php_screw.c 파일의 78,84,93 라인을 수정해줍니다.


org_compile_file(file_handle, type);                       // 수정 전

org_compile_file(file_handle, type TSRMLS_CC);    // 수정 후


그리고 make clean, 다시 make 를 진행합니다.


# make clean

# make 


# make install


# cp -arp /usr/local/php/lib/php/extensions/no-debug-zts-20060613/php_screw.so /usr/local/php/lib/

 

 

3. 설정 


# vi /usr/local/apache/conf/php.ini


extension_dir = "/usr/local/php/lib"

extension = "php_screw.so"


apache 를 재시작하여 적용합니다.


# /usr/local/apache/bin/apachectl restart



4. 명령어 복사


# cd tools


# make


# cp -arp screw /usr/bin/



5. 사용 방법


이제 PHP 소스 파일을 암호화 할 수 있습니다.

적용 방식은 아래와 같습니다.


예) screw phpinfo.php


결과) phpinfo.php 는 암호화 처리되며, 원본파일은 phpinfo.php.screw 로 남게 됩니다.



반응형

'리눅스 > PHP' 카테고리의 다른 글

php 에서 mysql 접속 테스트 소스  (0) 2015.01.16
PHP 가속프로그램 eaccelerator  (0) 2015.01.16
특정 함수 사용 못하게 하기  (0) 2015.01.16
PHP OpenSSH2 (libssh2) 설치  (0) 2015.01.16
ZendGuardLoader 설치 환경에 대해  (0) 2015.01.16

댓글()

특정 함수 사용 못하게 하기

리눅스/PHP|2015. 1. 16. 10:33
반응형

php.ini 를 수정하여 아래내용 삽입 후, 웹서버를 재시작하여 적용합니다.

disable_functions = 특정함수

 

예)
disable_functions = shell_exec,exec

 

-------------------------------------------------------------

특정폴더에서만 함수를 사용못하게 하려면
해당폴더에 .htaccess 를 생성 후 아래내용을 삽입합니다.

 

php_flag disable_functions = 특정함수

반응형

'리눅스 > PHP' 카테고리의 다른 글

PHP 가속프로그램 eaccelerator  (0) 2015.01.16
PHP 소스 암호화  (0) 2015.01.16
PHP OpenSSH2 (libssh2) 설치  (0) 2015.01.16
ZendGuardLoader 설치 환경에 대해  (0) 2015.01.16
Zend Optimizer 3.3.9 설치하기  (0) 2015.01.16

댓글()

PHP OpenSSH2 (libssh2) 설치

리눅스/PHP|2015. 1. 16. 10:33
반응형

PHP 에서 원격지의 서버에 접속해서 데이터를 교환하거나 , 특정 프로그램을 실행시키기 위해 사용할 수 있다. 

준비물 : OpenSSL(lib), libssh2, php_ssh2

리눅스 시스템
1. OpenSSL http://www.openssl.org
직접 다운로드 (http://www.openssl.org/source/openssl-0.9.8k.tar.gz)

2. libssh2 http://sourceforge.net/projects/libssh2/
직접 다운로드 (http://jaist.dl.sourceforge.net/sourceforge/libssh2/libssh2-1.1.tar.gz)

3. ssh2 PHP extension http://pecl.php.net/package/ssh2
직접 다운로드 (http://pecl.php.net/get/ssh2-0.11.0.tgz)

OpenSSL 설치


우선 소스를 적당한 디렉토리 (예제에서는 /usr/local/src 를 사용함) 에 다운로드 받는다. 
tar zxvf openssl-0.9.8k.tar.gz
cd openssl-0.9.8k
./config 또는 ./Configure --linux-elf --prefix=/usr/local/OpenSSL
# make
make install

Libssh2 설치


소스를 다운로드 받고 적당한 디렉토리에 타르볼을 해제한다. 
# tar zxvf libssh2-1.1.tar.gz
# cd libssh2-1.1
# ./configure (기본적으로 설치는 /usr/local 에 이루어진다. )
make
make install 
설치가 완료된 후에 /usr/local/lib 에 libssh2.so 파일이 존재한다. 

PHP ssh2 Extension 설치


tar zxvf ssh2-0.11.0.tgz
cd ssh2-0.11.0
phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
./configure
make
cp .libs/ssh2.so /usr/local/php/ 
(이 예제는 PHP Extension을 /usr/local/lib 에 복사를 한다.)
vi /usr/local/lib/php.ini
extension=ssh2.so 를 추가 시켜준다. 
** 여기서 extension_dir의 경로가  /usr/local/php 로 설정이 되어있고 , 시스템마다 다른경로로 표현이 될수 있음
php -m | grep ssh2
ssh2

설치가 완료 되었으므로 Apache 웹서버를 재 시작해준다. 

 

PHP ssh2 Extension 확인

phpinfo(); 함수를 이용해 ssh2 항목이 추가되었는지 확인해보아야 합니다.

 

[출처] 근원e (http://www.lovelgw.com/Blog/entry/PHP-OpenSSH2-libssh2)

반응형

댓글()

ZendGuardLoader 설치 환경에 대해

리눅스/PHP|2015. 1. 16. 10:32
반응형

ZendGuardLoader 설치를 위해 OS 와 httpd, php 버전을 번갈아가며 테스트 해보았는데

아래 조건이 맞아야 설치 가능한것 같습니다.

 

- httpd 2.2.x 이하 버전 (prefork 방식)

- php 5.3.x 버전

 

설치방법은 ZendGuardLoader 압축파일 안의 README 파일을 참고하세요.

매우 쉽습니다.

반응형

댓글()

Zend Optimizer 3.3.9 설치하기

리눅스/PHP|2015. 1. 16. 10:32
반응형

Zend Optimizer 3.3.9 버전은 특이하게도 httpd 가 prefork 로 설치되었을때만 연동이 가능합니다.

httpd 를 확인하여 worker 로 설치되었을 경우 prefork 로 재설치를 합니다.

 

/usr/local/apache/bin/httpd -V |grep 'Server MPM'
Server MPM:     Prefork
 

[설치 방법]

cd /usr/local/src/

wget http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

tar xvzf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz

cd ZendGuardLoader-php-5.3-linux-glibc23-x86_64/data/5_2_x_comp

cp ZendOptimizer.so /usr/local/php/lib/

 

아파치 설정 파일을 열어 Zend 설정을 추가해줍니다.

vi /usr/local/apache/conf/php.ini

 

맨하단에 추가합니다.

[Zend]

zend_extension=/usr/local/php/lib/ZendOptimizer.so

 

[확인 방법]

/usr/local/php/bin/php -v

PHP 5.2.9 (cli) (built: Aug 11 2011 11:11:30)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies
 

* 참고 : 위 명령으로 연동 확인하였으나 적용하고 실제 사용을 위해서는 httpd 를 재시작해주어야 합니다.

반응형

댓글()

php 5.3 phpinfo 안보일 때 (<? 가 먹지 않을 때)

리눅스/PHP|2015. 1. 16. 10:31
반응형
언제나 최신버전을 고집하는 얄궂은 특성때문에 이번에 나온 php 5.3을 설치 보았다.
신나게 설치하고 나니 오류가 조금 뜬다. 뭔가 함수명이 조금 사라지고 생겨나서 그러한 문제..

가장 먼저 5.3 에서는 TimeZone을 않으면 warning을 뿌려된다.

php 5.3서는 기본적으로 사용하던 php.ini-dist 라는 없어서 당황하게 만든다.
대신 php.ini-development, php.ini-production 2개의 파일이 생기는데 둘 아무거나 사용해도 무방하다.
약간의 옵션 차이만 있을 뿐이다.

# Time Zone 셋팅
date.timezone = Asia/Seoul


그리고 적잖이 당황하게 만든 phpinfo보기!
사실 phpinfo를 보기 위해서 아래의 문구 이게 문제가 되었다.
<?      phpinfo();     ?>

위 함수 구문은 short open tag라고해서 축약식으로 쓰는거다.
기본적으론 On이 되어 5.3에서는 Off로 되어 있어서 shot open tag가 안 먹혀서 php 안먹혀서 화면에 뿌려주질 않는 것이었다.

php.ini에서 아래를 수정해준다.
short_open_tag = On

이러면 5.3 정상구동-
 
[출처] http://uzoogom.com/167


반응형

'리눅스 > PHP' 카테고리의 다른 글

ZendGuardLoader 설치 환경에 대해  (0) 2015.01.16
Zend Optimizer 3.3.9 설치하기  (0) 2015.01.16
[php 설치 오류] checking for QDBM support... no  (0) 2015.01.16
mysqli 설치  (0) 2015.01.16
pdo_mysql 확장 모듈 설치  (0) 2015.01.16

댓글()

[php 설치 오류] checking for QDBM support... no

리눅스/PHP|2015. 1. 16. 10:31
반응형

php 설치중 아래와 같은 메세지가 나타났을때 gdbm, gdbm-devel 을 설치하여 해결합니다.

 

[문제]

checking for QDBM support... no
configure: error: DBA: Could not find necessary header file .


[해결]

# yum install gdbm*

반응형

'리눅스 > PHP' 카테고리의 다른 글

Zend Optimizer 3.3.9 설치하기  (0) 2015.01.16
php 5.3 phpinfo 안보일 때 (<? 가 먹지 않을 때)  (0) 2015.01.16
mysqli 설치  (0) 2015.01.16
pdo_mysql 확장 모듈 설치  (0) 2015.01.16
이온큐브(ioncube) 설치  (0) 2015.01.16

댓글()

mysqli 설치

리눅스/PHP|2015. 1. 16. 10:31
반응형

1. 소스 폴더로 이동

# cd /usr/local/src/php-5.2.17/ext/mysqli

 

2. 설치

# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config

# make

 

* php 7.x 에서 에러가 출력 될경우 아래와 같이 조치하면 됩니다.

# vi mysqli_api.c

#include "ext/mysqlnd/mysql_float_to_double.h"
를 아래와 같이 '절대 경로' 로 변경
#include "/usr/local/src/php-7.3.11/ext/mysqlnd/mysql_float_to_double.h" 

 

# make install
하면 아래와 같은 결과가 나옵니다.

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20060613/

(디렉토리의 날짜는 버전마다 다르므로 살펴볼것)

 

3. 적용

php.ini 파일을 열어 출력 되었던 경로를 아래와 같이 설정한 후 apache 를 재시작 하면 적용됩니다.

 

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20060613/"
extension=mysqli.so

 

반응형

댓글()

pdo_mysql 확장 모듈 설치

리눅스/PHP|2015. 1. 16. 10:30
반응형

1. 다운로드

# cd /usr/local/src 

# wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
 

2. 설치

# tar -xzvf PDO_MYSQL-1.0.2.tgz
# cd PDO_MYSQL-1.0.2
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
# make
# makeinstall
 

3. 확인 

# ll /usr/local/php/lib/php/extensions/no-debug-zts-20060613/
pdo_mysql.so 파일을 확인합니다.
 

4. 적용

php.ini 파일을 열어 모듈 연동을 해줍니다.

# vi /usr/local/Zend/etc/php.ini

[php] 하단에 아래와 같이 추가해줍니다.

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20060613"
extension=pdo_mysql.so
 

# /usr/local/apache/bin/apachectl restart

반응형

'리눅스 > PHP' 카테고리의 다른 글

[php 설치 오류] checking for QDBM support... no  (0) 2015.01.16
mysqli 설치  (0) 2015.01.16
이온큐브(ioncube) 설치  (0) 2015.01.16
다른 도메인 세션 저장 (db)  (0) 2015.01.16
php 파일 실행하기  (0) 2015.01.16

댓글()