Home >Backend Development >PHP Tutorial >apache+php5+sqlite3 transplantation

apache+php5+sqlite3 transplantation

WBOY
WBOYOriginal
2016-08-08 09:20:291385browse

apache+php5+sqlite3 transplantation

1. SQLite3 transplantation refers to the dynamic
compilation of http://blog.csdn.net/huyubin/article/details/46726585.
Apache will call the dynamic library libsqlite3.so when running, so you need:
a. Copy libsqlite3.so.o.8.6 to the /usr/lib directory
b. Create a soft link in the /usr/lib directory
ln -s libsqlite3.so.0.8.6 libsqlite3.so
ln -s libsqlite3.so.o.8.6 libsqlite3.so.0

2. PHP porting
a. Download PHP from http://php.net/releases/ -5.6.10.tar.gz
b. Enter the php-5.6.10 directory and create a new installation directory:
mkdir my_install
c. Execute ./configure to produce the 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
Where: --with-apxs2=/mnt /ram/apache/bin/apxs // is the installation directory of apache, used to generate libphp5.so. (The host and ARM board directories are the same)
--with-config-file-path=/mnt/flash/php // Configure the PHP configuration file php.ini directory
--with-config-file-scan-dir=/ mnt/flash/php

// sqlite3 host installation directory, needed when compiling (sqlite3 compilation needs to be completed first)
--with-sqlite3=/home/huyubin/zynq/sqlite/sqlite-autoconf-3081002/my_install
d. make
e. sudo make install

PHP extension PDO compilation and installation reference:
http://blog.csdn.net/liruxing1715/article/details/8268513
f. Produce pdo.so and enter the ext/pdo directory to execute
../../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. Generate pdo_sqlite.so, enter 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. Change php.ini-development in the php-5.6.10 directory to php.ini as the PHP configuration file,
      Make the following modifications:
        Add:
    extension_dir = "/mnt/flash/php/ "
extension=pdo.so
extension=pdo_sqlite.so
Modification:
[sqlite3]
sqlite3.extension_dir = "/usr/lib/"
3. apache transplant reference http://blog.csdn.net/ huyubin /article/details/46817007,
But the httpd.conf file needs to be modified again:
a. Add PHP module support (if not modified manually, it will be modified automatically when compiling php later)
LoadModule php5_module modules/libphp5.so
b. Identify *.php and other files
                                                                                                                                                                                       < Is there libphp5.so in the /mnt/ram/apache/moudles/ directory of the development board? This file is generated in the apache installation directory when compiling PHP.
5. Create a new directory /mnt/flash/php/, and copy php.ini, pdo.so and pdo_sqlite.so to this directory.
6. Confirm that libsqlite3.so.o.8.6 is in the /usr/lib directory and establish a soft connection.
PHP code:

Need to create the test.db database manually

<html><body><h1>It works!</h1>
<?php
  echo "my first php shell!";
  echo "test sqlite!";
  $db = new PDO(&#39;sqlite:/mnt/flash/test.db&#39;);
  if(!$db){
  	echo $db->lastErrorMsg();
  }else{
  	echo "Open database successfully\n";
  }</p>
<pre name="code">  phpinfo();
?>
</body></html>

Copyright statement: This article is an original article by the blogger and may not be reproduced without the blogger's permission.

The above has introduced the apache+php5+sqlite3 transplantation, including the relevant aspects. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn