Heim  >  Artikel  >  Backend-Entwicklung  >  apache+php5+sqlite3移植

apache+php5+sqlite3移植

WBOY
WBOYOriginal
2016-08-08 09:20:291335Durchsuche

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教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP关于时区问题Nächster Artikel:Nginx防盗链的3种方法