쉘에서 php 실행하기

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

1. 서버에 lynx 이 설치 되어있어야 합니다.

    설치가 안되어 있다면 설치를 합니다.

    # yum install lynx

 

2. 쉘에서 php 실행방법

    # lynx http://sysdocu.tistory.com/file.php -dump

 

3. 5분마다 실행 (crontab)

    */5 * * * * lynx http://sysdocu.tistory.com/file.php -dump

반응형

댓글()

PHP설치 오류 리스트

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

PHP 5.2.6 configure 시 오류 

오류 메세지 : configure: error: xml2-config not found. Please check your libxml2 installation 
해결 방법 : yum install libxml2 libxml2-devel -y 

오류 메세지 : configure: error: Please reinstall the BZip2 distribution 
해결 방법 : yum -y install bzip2-devel 

오류 메세지 : configure: error: libjpeg.(a|so) not found. 
해결 방법 : yum -y install libjpeg-devel 

오류 메세지 : configure: error: libpng.(a|so) not found. 
해결 방법 : yum -y install libpng-devel 

오류 메세지 : configure: error: freetype.h not found. 
해결 방법 : yum -y install freetype-devel 

오류 메세지 : configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information. 
해결 방법 : yum -y install libc-client-devel 

오류 메세지 : configure: error: Kerberos libraries not found. 
해결 방법 : yum -y install krb5-devel 

오류 메세지 : configure: error:Cannot find OpenSSL's <evp.h> 
해결 방법 : yum -y install openssl-devel 


[출처] 박한범님의 이글루 | 박한범 ( http://kese111.egloos.com/1111146 )

===============================================================

make: warning:  Clock skew detected.  Your build may be incomplete.
시간을 동기화 시킨다.

checking for termcap functions library... configure: error: No curses/termcap library found
해결책 :  # yum -y install ncurses-devel

configure: error: C++ preprocessor "/lib/cpp" fails sanity check
해결책 : # yum -y install gcc-c++

/usr/lib/libdb-4.3.so: could not read symbols: File in wrong format
/usr/lib/libexpat.so: could not read symbols: File in wrong format

해결책 : # mv /usr/lib/libexpat.so /usr/lib/libexpat.so.bak
               # ln -s /lib64/libexpat.so.0.5.0 /usr/lib/libexpat.so  
               # mv /usr/lib/libdb-4.3.so /usr/lib/libdb-4.3.so.bak
               # ln -s /lib64/libdb-4.3.so /usr/lib/libdb-4.3.so 
에러의 원인은 64비트 환경에서 32비트용 소스를 가져다가 설치하기 때문이다. 컴파일 도구와 관련된 심볼릭 링크 파일을 찾지 못한다고 나오고 있다. 

configure: error: Unable to locate gmp.h
해결책 : # yum -y install gmp*

configure: error: not found. Please reinstall the expat distribution.
해결책 : # yum -y install expat*

configure: error: Please reinstall the libcurl distribution - easy.h should be in /include/curl/
해결책 : # yum -y install curl* 또는 yum -y install curl & yum -y install curl-devel

configure: error: Please reinstall libmcrypt - I cannot find mcrypt.h <br>
configure: error: Please reinstall libmhash - I cannot find mhash.h
해결책 : # yum install libmcrypt libmcrypt-devel libmhash libmhash-devel

Configure: error: xml2-config not found. Please check your libxml2 installation
해결책 : #yum install libxml2-devel

Checking for pkg-config... /usr/bin/pkg-config
configure: error: Cannot find OpenSSL's <evp.h>
해결책 : #yum install openssl-devel

Configure: error: Please reinstall the BZip2 distribution
해결책 : # yum install bzip2-devel

Configure: error: libjpeg.(also) not found.
해결책 : # yum install libjpeg-devel

Configure: error: libpng.(also) not found.
해결책 : yum install libpng-devel

Configure: error: freetype.h not found.
해결책 : #yum install freetype-devel

Configure: error: Cannot find MySQL header files under /usr.
Note that the MySQL client library is not bundled anymore!
해결책 : # yum install mysql-devel

Configure: error: Please reinstall the ncurses distribution
해결책 : # yum install ncurses-devel

Checking for unixODBC support... configure: error: ODBC header file '/usr/include/sqlext.h' not found!
해결책 : # yum install unixODBC-devel

Configure: error: Cannot find pspell
해결책 : # yum install pspell-devel

Configure: error: snmp.h not found. Check your SNMP installation.
# yum install net-snmp-devel

configure: error: ZLIB extension requires zlib >= 1.0.9

ln -sf /usr/lib64/libgssapi_krb5.so.2.2 /usr/lib/libgssapi_krb5.so
ln -sf /usr/lib64/libkrb5.so.3.3 /usr/lib/libkrb5.so
ln -sf /usr/lib64/libk5crypto.so.3.1 /usr/lib/libk5crypto.so
ln -sf /lib64/libcom_err.so.2 /usr/lib/libcom_err.so
ln -sf /usr/lib64/libgcrypt.so.11 /usr/lib/libgcrypt.so
ln -sf /usr/lib64/libgpg-error.so.0 /usr/lib/libgpg-error.so
ln -sf /usr/lib64/libexpat.so /usr/lib/libexpat.so
ln -sf /usr/lib64/libm.so /usr/lib/libm.so
ln -sf /usr/lib64/libssl.so /usr/lib/libssl.so


[출처] http://ysy2080.com/uribury/linuxno1/1369

반응형

댓글()

PHP설치시 오류 > make: *** [libphp5.la] 오류 1

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

/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [libphp5.la] 오류 1

[root@chals php-5.2.6]# yum list | grep libtool-ltdl
libtool-ltdl.i386                        1.5.22-6.1             base
libtool-ltdl-devel.i386                  1.5.22-6.1             base

설치 하면됨 


[출처] php설치시 오류|작성자 업데이트


반응형

댓글()

FreeTDS 설치 (PHP와 MS-SQL 연동)

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

리눅스의 Apache + PHP 구조에서 MS-SQL 데이터베이스를 사용하는 방법입니다.

 


1. 설치

 

# cd /usr/local/src

# wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz

 

※ 참고

mssql 2000 로 접속할 경우 아래 버전으로 설치하셔야 합니다.

# wget http://pkgs.fedoraproject.org/repo/pkgs/freetds/freetds-0.82.tar.gz/3df6b2e83fd420e90f1becbd1162990a/freetds-0.82.tar.gz
 

# tar xvzf freetds-stable.tgz

# cd freetds-0.91

# ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --disable-odbc --disable-debug --enable-msdblib

(freetds-0.82 버전의 경우 --enable-dbmfix 옵션 추가)

 

※ 참고

mssql 2008 의 경우 옵션을 제외해도 됩니다.
mssql 2005 의 경우 --with-tdsver=8.0

mssql 2000 의 경우 --with-tdsver=8.0

mssql 7.0 의 경우 --with-tdsver=7.0

mssql 6.0 의 경우 --with-tdsver=4.2

 

# make

# make install

 

freetds 를 설치했으면 PHP 를 재컴파일 합니다.

PHP 를 재 컴파일 할때 아래 옵션을 주어 컴파일 하도록 합니다. 설치방법은 생략합니다.

 

--with-sybase=/usr/local/freetds --with-mssql=/usr/local/freetds

 
재컴파일이 불편하다면 아래와 같이 별도로 모듈만 삽입 할수 있습니다.

 

# cd /usr/local/src/php-5.2.9/ext/mssql

# /usr/local/php/bin/phpize

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

# make

# make install

# cd /usr/local/src/php-5.2.9/ext/pdo_dblib

# /usr/local/php/bin/phpize

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

# make

# make install

# mv /usr/local/php/lib/php/extensions/no-debug-zts-20060613/* /usr/local/php/lib/

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

아래 내용 추가합니다.
   extension=mssql.so
   extension=pdo_dblib.so

 

 

2. 설정 

 아래 파일을 수정하여 한글 깨짐을 막고 해당 서버로 연결가능하도록 추가 설정합니다.

# vi /usr/local/freetds/etc/freetds.conf

 

[global]
client charset = EUC-KR


[192.168.10.2]
    host = 192.168.10.2

    port = 1433
    tds version = 8.0

 

 

3. 확인

아래 명령어를 통해서 접속이 잘 되는지 확인할 수 있습니다.

 

# /usr/local/freetds/bin/tsql -H 192.168.10.2 -p 1433 -U neulwon -P 12345678



[참고] 

php - mssql 연동 테스트 소스

 

<?

putenv("TDSVER=80");    <- 이거는 사용하지마시고 혹시 mssql 2008 이나 연결이 안될경우 추가해보세요.
$hostname = "";
$username = "";
$password = "";
$connection = mssql_connect($hostname,$username,$password)
or die("데이타 베이스에 연결 할수 없습니다.");
print ("데이타 베이스에 연결되었습니다.");
mssql_close($connection);
print ("데이타 베이스의 연결이 해지 되었습니다.");
?>


반응형

댓글()

libphp4.so: cannot restore segment prot after reloc: Permission denied

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

[root@localhost libexec]# /usr/local/apache/bin/apachectl configtest
Syntax error on line 224 of /usr/local/apache/conf/httpd.conf:
Cannot load /usr/local/apache/libexec/libphp4.so into server: /usr/local/apache/libexec/libphp4.so: cannot restore segment prot after reloc: Permission denied

이런 황당한 에러는... 아래와 같이 하면 해결됨.

[root@localhost libexec]# restorecon -R -v /usr/local/apache/libexec

또는

[root@localhost libexec]# chcon -t texrel_shlib_t /usr/local/apache/modules/libphp4.so

SELINUX=disabled
로 설정하고 했더니....ok
근데 다른 문제가 있어서 물어봤더니...
FC4에서 php설치하려면
php소스 컴파일 설치후

# chcon /usr/local/apache/modules/libphp4.so -t shlib_t

실행하니깐 문제가 해결 되었네요^^
아직 무슨 말인지는 모르지만... 답변 감사합니다.
언젠가는 저도 답변으로 도움드릴 날이 오겠죠^^

그러나 나(xinfra)의 해결책 chcon -t textrel_shlib_t libexec/libphp4.so


반응형

댓글()

Zend 연동이 안될 경우

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

[증상1]
phpinfo(); 화면에 Zend 표시가 안나타날 경우
/usr/local/apache/conf/php.ini 파일의 내용이 6줄가량의 내용만 있을경우 (본래 1300여줄)
 
[조치]

# rm -rf /usr/local/Zend                                                                    // Zend 를 삭제합니다.

# rm -rf /usr/local/apache/conf/php.ini*

# cp -arp (php소스폴더)/php.ini-dist /usr/local/apache/conf/php.ini

# (Zend소스폴더)/install                                                                 // Zend 재설치를 합니다.

# cd /usr/local/php/lib
# ln -sf /usr/local/apache/conf/php.ini .
 
 
[증상2]
설치후 php -v에 zend가 없을때

[조치]
# cd /usr/local/apache/conf
# ln -s /usr/local/Zend/etc/php.ini .
# cd /usr/local/php/lib
# ln -s /usr/local/apache/conf/php.ini .
# /usr/local/php/bin/php -v
 

반응형

댓글()

php설치시 configure: error: ZLIB extension requires zlib >= 1.0.9 에러

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

php 4.4버전대 설치시 발생한 에러

configure: error: ZLIB extension requires zlib >= 1.0.9

아래처럼 설치시 해결되었음.

./configure --prefix=/usr/local/php --with-apxs=/usr/local/apache/bin/apxs --with-zlib --with-gd --with-ttf --with-png --with-expat-dir=/usr --with-gmp --with-xml --with-language=korean --with-charset=euc_kr --disable-debug --disable-rpath --with-iconv --enable-safe-mode --enable-magic-quotes --enable-bcmath --enable-dio --enable-gd-native-ttf --enable-sysvsem --enable-sysvshm --enable-wddx --enable-pic --enable-inline-optimization --enable-mbstring --enable-mbregex --enable-mbstr-enc-trans --with-config-file- --enable-ftp --disable-debug --enable-track-vars=yes --with-jpeg-dir --with-freetype-dir --enable-gd-native-ttf --enable-dl --enable-gd-imgstrttf --enable-exif --enable-versioning

도중에 configure: error: Unable to locate gmp.h 에러가 난다면

yum -y install gmp* 후, 다시 설치해볼것.

반응형

댓글()

error cannot retrieve metalink for repository epel. please verify its path and try again

리눅스/OS 일반|2014. 12. 31. 00:41
반응형

Linux EPEL (Extra Packages for Enterprise Linux)을 설치하면서 겪은 것을 기록으로 남긴다.

L2TP VPN 솔루션 중, XL2TP를 설치하려고 하려고 관련 글들을 찾아보았다.

1
yum install xl2tpd

블로그로부터 위와 같이 실행하면 되는 것으로 확인하고, 실행하였으나 설치가 되지 않는다.
기본 설정 상태의 yum repository들에는 xl2tpd가 존재하지 않기 때문이다.

xl2tpd가 존재하는 repository가 어디에 있는지 조사해 보니, Linux EPEL에 있다고 한다.
또한, 이를 위해 EPEL을 설정해 주어야 한다는 것을 확인했다.

1
yum repolist

를 실행하면 기본적으로 epel이 아직 보이지 않는다.

다음과 같이 epel을 설정해 주자.

1
2
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm

이후, yum repolist를 실행했더니,
다음 에러가 발생하였다.

1
yum repolist

여러가지 방법을 시도해 보고, 다음과 같이 조치했더니 동작하였다.

/etc/yum.repos.d/epel.repo 파일을 아래와 같이 편집하였다.

조치 내용은 다음과 같다.
metalink를 참조하는 mirrorlist를 주석처리하고, 그 위의 baseurl을 그대로 사용하도록 주석해제한다.
enabled=1로 설정한다.

1
2
3
4
5
6
7
8
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
failovermethod=priority
enabled=1
gpgcheck=1

그리고, 다시 yum repolist를 수행하니,
metalink 에러 없이, 정상적으로 repolist에 액세스하였고,

yum install xl2tp 도 수행할 수 있었다.


[출처] everydayminder (http://everydayminder.wordpress.com/2013/11/15/linux-epel-%EC%84%A4%EC%B9%98-metalink-%EC%97%90%EB%9F%AC-%EC%A1%B0%EC%B9%98/)

반응형

댓글()

우분투에 설치한 VirtualBox의 게스트 OS가 USB를 인식하지 못할 때

리눅스/OS 일반|2014. 12. 31. 00:41
반응형

오래 사용해 오던 Microsoft Windows에서 우분투로 바꾸려고 노력하는 중입니다. 며칠 지났다고 제법 익숙해졌습니다만, 아직도 은행과 쇼핑몰은 윈도에서 처리합니다. 그나마 MS 윈도 PC를 옆에 두고 함께 사용하고 있어서 그런대로 사용하고 있습니다만, 우분투 하나만 사용할 때에는 어쩔 수 없이 멀티 부팅해야 하기 때문에 재 부팅해야 합니다. 일하다가 재 부팅하려면 화면 가득 벌여 놓은 것을 정리해야 하는데 불편해도 너무 불편하지요. 그래서 VirtualBox를 이용하기로 했습니다.

우분투 소프트웨어 센터를 이용하여 우분투 설치. 그러나, …

VirtualBox를 우분투 메인 메뉴에 있는 소프트웨어 센터를 이용하여 설치했습니다. 설치와 게스트 OS까지 아무 이상 없이 설치했지만, 문제가 있네요. 아무리 노력해도 게스트 OS가 USB 장치를 인식하지 못하네요. USB 장치를 인식하지 못하니 뭐를 할 수 있어야 말이죠.

처음에는 VirtualBox를 의심하지 않았습니다. 얼마나 많이 사용하는 장치인데 당연히 VirtualBox에서 사용할 수 있을 거라고 생각했던 것이죠. 아니, 너무 당연한 일이라서 이렇게 따져 생각하지도 않았습니다.

그러나 잘못된 생각이었습니다. 소프트웨어 센터에서 설치해 주는 VirtualBox는 버전이 낮은 3.x.x 버전의 것으로 USB를 이용하려면 최근 버전인 4.x.x 버전을 사용해야 하고, 설치도 VirtualBox 홈 페이지에서 직접 내려 받아야 한답니다. 그래서 설치한 버전이 VirtualBox 4.0.2입니다.

Virtual Box를 사용하기 위한 추가 작업

우분투 최신 버전을 설치한 후에는 아래의 몇 가지 작업을 더 해 주어야 합니다. 아마도 USB 장치에 대한 권한 문제와 사용하기 위한 소프트웨어가 필요한 듯합니다.

1. 그룹 정보 수정

VirtualBox 설치 후에 우분투의 "메인메뉴>>시스템>>관리>>사용자와 그룹"를 실행합니다. 윈도에서 [그룹 관리] 버튼을 클릭합니다.


그룹 목록에서 "vboxusers"를 선택한 후 [속성]버튼을 클릭합니다.


나의 아이디를 체크하여 그룹에 추가합니다.

 

2. VirtualBox 4.0.2 Oracle VM VirtualBox Extension Pack All platforms 설치

VirtualBox 홈페이지의 Download 페이지에서 VM VirtualBox Extension Pack All platforms를 내려 받아 설치합니다. 파일을 내려 받은 후에 탐색기에서 더블클릭하면 VirtualBox가 실행되면서 설치됩니다.

 

3. /lib/udev/rules.d/50-udev-default.rules 내용 수정

/lib/udev/rules.d/50-udev-default.rules 파일에서 usb_device를 검색한 후 MODE 값을 0666으로 변경합니다.

]$ sudo vi /lib/udev/rules.d/50-udev-default.rules

# libusb device nodes
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"

4. 게스트OS USB 속성 변경

이제 마지막 단계입니다. 게스트 OS의 시스템 설정화면에서 USB 항목을 클릭합니다. "USB" 글씨를 클릭해야 합니다.


"USB 컨트롤러 사용하기"와 "USB 2.0 EHCI 컨트롤러 사용하기"를 모두 체크합니다.


이제 게스트 OS를 부팅한 후에 USB 메모리를 PC에 연결하면 게스트 OS에서 인식됩니다. 과정이 좀 복잡했습니다만, 되는 것만해도 어디에요. ^^



[출처] 바다야크 - IT를 바다만큼 야크 떨기 (www.badayak.com/2074)

반응형

댓글()

우분투 14.04 에서 한글사용시 띄어쓰기 오작동 문제 해결법

리눅스/OS 일반|2014. 12. 31. 00:40
반응형

우분투 14.04 에서 nabi 설치후 크롬 브라우저를 사용할때 띄어쓰기가 제대로 처리 안되는 경우가 있습니다.


입력 문자 : 한글 제대로 나오나요.

출력 문자 : 한 글제대 로나오나 요.


해결방법은 아래와 같은데, 원래대로 IBus 로 돌리고 [한영키] 잘 먹히도록 하는 방법입니다.


1. [설정] > [언어 지원] 에서 키보드 입력기 'IBus' 로 설정


2. 로그오프 > 재 로그온


3. '우분투 소프트웨어 센터' 에서 dconf Editor 설치


4. 대쉬보드에서 dconf Editor 를 검색, 실행

    org > gnome > desktop > wm > keybindings 메뉴에서

    'switch-input-source-backward' 의 값을 'Hangul' 로 변경, 저장


5. [설정] > [텍스트 입력창] 에서 아래 두 개로 설정하고 모두 삭제

     한국어 (Hangul)

     영어 (미국)


6. 로그오프 > 재 로그온

반응형

댓글()

우분투14.04에 오픈오피스4.1.0 설치하기

리눅스/OS 일반|2014. 12. 31. 00:40
반응형

우분투 14.04 데스크탑에 오픈오피스를 설치하기 위해서는

기본 설치되어있는 libre office 를 먼저 삭제해야 합니다.


1. 우분투 소프트웨어 센타

     [설치] 항목에서 libre 검색 후 설치되어진 libre office 구성 요소를 모두 제거 합니다.


2. 제거되지 않는 패키지는 터미널에서 삭제를 해야 합니다.

    # apt-get -f remove libreoffice-common


3. 오픈 오피스를 다운받습니다.

     다운로드 : http://openoffice.org


    압축을 풀고 설치를 진행합니다.

    # cd /home/sysdocu/다운로드

    # tar xvzf Apache_OpenOffice_4.1.0_Linux_x86-64_install-deb_ko.tar.gz

    # cd ko

    # dpkg -i ./DEBS/*.*

    # dpkg -i ./DEBS/desktop-integration/openoffice4.0-debian-menus_4.1-9764_all.deb


4. 대시보드에서 openoffice 검색 후 런처에 끌어다 놓으면 손쉽게 이용이 가능합니다.

반응형

댓글()