1. libxml2와 zlib를 크로스 컴파일하고 arm-linux-gcc의 lib 라이브러리를 확장합니다. 그 중 libxml2는 PHP5 설치에 필요한 라이브러리 파일이다.
1.1 libxml2를 설치합니다.
libxml2-2.7.8.tar.gz의 압축을 홈 디렉터리에 풉니다.
tar zxvf libxml2-2.7.8.tar.gz -C /home
cd /home/libxml2-2.7.8
CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/usr/local/libxml2 make make install이후 /usr.local/libxml2 디렉터리에 libxml2가 설치되었습니다.
1.2 zlib 설치
zlib-1.2.5.1.tar.gz의 압축을 홈 디렉터리에 푼다.
tar zxvf zlib-1.2.5.1.tar.gz -C /home cd /home/zlib-1.2.5.1 CC=arm-linux ./configure --prefix=/usr/local/zlib make make install이후 zlib는 /usr/local/zlib 디렉토리에 설치되었습니다.
2. PHP 크로스 컴파일
홈 디렉터리에 php-5.5.30.tar.gz의 압축을 풉니다.
tar zxvf php-5.5.30.tar.gz -C /home cd /home/php-5.5.30 CC=arm-linux ./configure --host=arm-linux --prefix=/usr/local/php --disable-all --enable-sockets --with-libxml-dir=/usr/local/libxml2 --with-zlib-dir=/usr/local/zlib make make install이후 /usr/loal/php 디렉토리에 php가 설치되었습니다.
arm-linux-strip php arm-linux-strip php-cgi위 두 명령을 실행한 후 php와 php-cgi의 파일 크기를 살펴보니 몇 M밖에 되지 않습니다.
3. 컴파일된 PHP를 타겟 보드에 복사합니다.
cd /usr/local tar zcvf php.tar.gz php/*NFS를 통해 타겟 보드의 /usr/local 디렉터리에 php.tar.gz를 복사합니다.
cd /usr/local tar zxvf php.tar.gz드디어 php가 타겟보드에 성공적으로 이식되었습니다. 이때 타겟보드의 php.tar.gz를 삭제하시면 됩니다.
4. 설명
호스트 컴퓨터에서 php-5.5.30.tar.gz의 압축을 풀면 php.ini-development와 php.ini-production이라는 두 개의 파일이 있습니다. 이것을 php.ini 구성 파일이라고 합니다. php.ini-development를 대상 보드의 /usr/local/php/libs 디렉터리에 복사해야 합니다. 그리고 파일 이름을 php.ini로 변경합니다. 이 문서에서는 php.ini 파일의 구성에 대해 설명하지 않습니다. 관련 구성을 온라인으로 검색할 수 있습니다. 일반적으로 기본값이 좋습니다.
위 내용은 PHP5530의 ARM 포팅에 대한 모든 내용을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.