apache+php5+sqlite3 이식
1. sqlite3 이식에 대해서는 http://blog.csdn.net/huyubin/article/details/46726585의 동적
편집을 참조하세요.
Apache는 실행 시 동적 라이브러리 libsqlite3.so를 호출하므로 다음이 필요합니다.
a. libsqlite3.so.o.8.6을 /usr/lib 디렉토리에 복사합니다
b. 디렉토리
ln -s libsqlite3.so.0.8.6 libsqlite3.so
ln -s libsqlite3.so.o.8.6 libsqlite3.so.0
아래에 소프트 링크를 생성합니다. 2.
a. http://php.net/releases/
에서 PHP-5.6.10.tar.gz를 다운로드합니다. b. php-5.6.10 디렉토리를 입력하고 새 설치 디렉토리를 만듭니다:
mkdir my_install
c ./configure를 실행하고 Makefile 파일을 생성합니다:
CC=/usr/local/arm/arm-xilinx/lin/bin/arm-xilinx-linux-gnueabi-gcc CXX=/usr/local /arm/arm- xilinx/lin/bin/arm-xilinx-linux-gnueabi-g++ CFLAGS="-g -O2" LDFLAGS+=-ldl ./configure --prefix=/home/huyubin/zynq/php/php- 5.6.10/my_install / --host=arm-xilinx-linux-gnueabi
--disable-all --with-apxs2=/mnt/ram/apache/bin/apxs --with-config-file-path=/mnt/flash/php --with-config-file-scan-dir=/ mnt/flash/php --with-sqlite3=/home/huyubin/zynq/sqlite/sqlite-autoconf-3081002/my_install --with-pdo-sqlite --enable-pdo
여기서: --with-apxs2= /mnt/ram/apache/bin/apxs //는 libphp5.so를 생성하는 데 사용되는 Apache 설치 디렉터리입니다. (호스트와 ARM 보드 디렉터리는 일치합니다)
--with-config-file-path=/mnt/flash/php // PHP 구성 파일 구성 php.ini 디렉터리
--with-config-file -scan -dir=/mnt/flash/php
// sqlite3 호스트 설치 디렉터리, 컴파일에 필요(sqlite3 컴파일이 먼저 완료되어야 함)
--with-sqlite3=/home/huyubin/ zynq/ sqlite/sqlite-autoconf-3081002/my_install
d. make
e. sudo make install
PHP 확장 PDO 컴파일 및 설치 참조:
http://blog.csdn. net/liruxing1715 /article/details/8268513
f. pdo.so를 생성하고 ext/pdo 디렉토리에 들어가서
../../my_install/bin/phpize
CC=/usr/local을 실행합니다. /arm/arm-xilinx/lin/bin/arm-xilinx-linux-gnueabi-gcc CXX=/usr/local/arm/arm-xilinx/lin/bin/arm-xilinx-linux-gnueabi-g++ CFLAGS="- g -O2" LDFLAGS+ =-ldl ./configure --prefix=/home/huyubin/zynq/php/php-5.6.10/my_install/ --host=arm-xilinx-linux-gnueabi
--with-php-c/../my_install/bin/php-config
make
sudo make install
g. pdo_sqlite.so를 생성하고 ext/pdo_sqlite
../..를 입력합니다. /my_install/bin/phpize
CC=/usr/local/arm/arm-xilinx/lin/bin/arm-xilinx-linux-gnueabi-gcc CXX=/usr/local/arm/arm-xilinx/lin/ bin/arm-xilinx-linux-gnueabi-g++ CFLAGS="-g -O2" LDFLAGS+=-ldl ./configure --prefix=/home/huyubin/zynq/php/php-5.6.10/my_install/ --host =arm-xilinx-linux-gnueabi
--with-php-c/../my_install/bin/php-config --with-pdo-sqlite=/home/huyubin/zynq/sqlite/sqlite-autoconf-3081002/my_install/
make
sudo make install
h. php-5.6.10 디렉토리의 php.ini-development를 PHP 구성 파일인 php.ini로 변경하고
다음과 같이 수정합니다.
추가됨:
Extension_dir = "/mnt/flash/php/"
Extension=pdo.so
Extension=pdo_sqlite.so
수정:
[sqlite3]
sqlite3.extension_dir = "/usr /lib/"
하지만 httpd.conf 파일은 다시 수정해야 합니다.
a. PHP 모듈 지원 추가(수동으로 수정하지 않으면 나중에 PHP를 컴파일할 때 자동으로 수정됩니다.)
LoadModule php5_module 모듈 /libphp5.so
b. *.php
SetHandler와 같은 파일을 식별합니다. application/x-httpd-php
5. 새 디렉토리 /mnt/flash/php/를 만들고 php.ini, pdo.so 및 pdo_sqlite.so를 이 디렉토리에 복사합니다.
6. libsqlite3.so.o.8.6이 /usr/lib 디렉터리에 있는지 확인하고 소프트 연결을 설정합니다.
PHP 코드:
<html><body><h1>It works!</h1> <?php echo "my first php shell!"; echo "test sqlite!"; $db = new PDO('sqlite:/mnt/flash/test.db'); if(!$db){ echo $db->lastErrorMsg(); }else{ echo "Open database successfully\n"; }
phpinfo(); ?> </body></html>
저작권: 이 글은 해당 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.
이상에서는 관련 측면을 포함하여 apache+php5+sqlite3 이식에 대해 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.