Maison >développement back-end >tutoriel php >apache+php5+sqlite3移植

apache+php5+sqlite3移植

WBOY
WBOYoriginal
2016-08-08 09:20:291395parcourir

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. 在/usr/lib目录下建立软链接
      ln -s libsqlite3.so.0.8.6 libsqlite3.so
      ln -s libsqlite3.so.o.8.6 libsqlite3.so.0
      
2. php移植
   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  // 为apache的安装目录,用来生成libphp5.so。(主机和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.ini,做为PHP的配置文件,
      做如下修改:
      添加:
      extension_dir = "/mnt/flash/php/"
      extension=pdo.so
      extension=pdo_sqlite.so
      修改:
      [sqlite3]
      sqlite3.extension_dir = "/usr/lib/"
      
3. apache移植参考http://blog.csdn.net/huyubin/article/details/46817007,
   不过httpd.conf文件需要再次修改:
   a. 添加PHP模块支持(如果不手动修改,在后面编译php时会自动修改) 
      LoadModule php5_module        modules/libphp5.so
   b. 识别*.php等文件
     
      SetHandler application/x-httpd-php
     

4. 查看嵌入式开发板的 /mnt/ram/apache/moudles/目录下有没有libphp5.so, 这个文件是
   编译PHP时在apache的安装目录下生成的。
5. 新建目录 /mnt/flash/php/, 将php.ini、pdo.so和pdo_sqlite.so拷贝到这个目录。

6. 确认libsqlite3.so.o.8.6在/usr/lib目录下,并建立软连接。

PHP代码:

需要手动创建test.db数据库

<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";
  }
  phpinfo();
?>


版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了apache+php5+sqlite3移植,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:PHP关于时区问题Article suivant:Nginx防盗链的3种方法