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('sqlite:/mnt/flash/test.db'); 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.