如何在安卓手机里安装Lighttpd + php + sqlite3组合

来源:互联网 发布:英雄联盟原声软件 编辑:程序博客网 时间:2024/06/06 12:54


我们都知道,机房里24小时不停机的计算机是服务器,而家里使用的笔记本或台式机是个人电脑。大部分程序员都有个人电脑,笔记本。这些家里的个人电脑在用的时候开机,用完了就关机,所以,一些需要24小时执行的任务无法放在个人电脑上,只能放在服务器上执行——即使只是一些小任务。事实上,每个人家里都有几台24小时不关机的服务器,只是你没用意识到它们可以当做服务器,它们就是你们的安卓手机,安卓手机的底层就是Linux,如果你家里有旧的安卓手机,千万别丢,我们可以把它改造成一个小型的服务器。


之前的文章里我介绍了如何在安卓手机上安装Linux,下面我将介绍如何在这个安装了Linux的手机上安装Lighttpd + php + sqlite3组合。


之所以选择lighttpd而不是apache,是考虑到手机的性能毕竟不如服务器,尽量采用轻量级的软件。下载、编译、安装lighttpd的步骤如下:


wget http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.45.tar.gz


tar xvf lighttpd-1.4.45.tar.gz


cd lighttpd-1.4.45


./configure
make
sudo make install
安装过程中会出现一些问题,首先报的错误是缺少C/C++编译器,这是因为手机上安卓的Linux系统比较精简,缺少很多编译软件需要的东西。执行下面命令:


sudo apt-get install build-essential
build-essential是一个工具包,里面包含了编译Linux内核需要的一些基本的工具和类库,包括C编译。安装完build-essential后,在继续安装的过程中还发现缺少几个类库,下面列出的就是遇到的编译问题和解决方法。


错误 1


configure: error: pcre-config not found, install the pcre-devel package or build with –without-pcre


解决方法:


sudo apt-get install libpcre3-dev
错误 2


configure: error: zlib-headers and/or libs were not found, install them or build with –without-zlib


解决方法:


sudo apt-get install zlib1g-dev
错误 3


configure: error: bzip2-headers and/or libs were not found, install them or build with –without-bzip2


解决方法:


sudo apt-get install libbz2-dev
解决了上面三个问题,Lighttpd的编译安装过程很顺利。接着安装PHP:


http://117.75.20.11/files/10070000027BB8AD/cn2.php.net/distributions/php-5.6.30.tar.gz


tar xvf php-5.6.30.tar.gz


cd php-5.6.30


./configure
make 
sudo make install
安装过程中可能会遇到一个错误:


configure: error: xml2-config not found. Please check your libxml2 installation.


解决方法是:


sudo apt-get install libxml2-dev
这个编译过程比较费时,大概要半个小时。安装完Lighttpd和PHP后,我们需要将它们结合到一起,只需要在Lighttpd的配置文件里添加下面的内容:


fastcgi.server             = ( ".php" =>
                               ( "localhost" =>
                                 (
                                   "socket" => "/tmp/php-fastcgi.socket",
                                   "bin-path" => "/usr/local/bin/php"
                                 )
                               )
                            )
Lighttpd是Web服务器,PHP是动态脚本语言,我们还需要一个数据库,在PHP5里内置了sqlite3数据,我们可在PHP5里直接调用SQLite3,下面是一个使用PHP访问SQLite数据的例子:


<?php
/**
 * Simple example of extending the SQLite3 class and changing the __construct
 * parameters, then using the open method to initialize the DB.
 */
class MyDB extends SQLite3
{
    function __construct()
    {
        $this->open('mysqlitedb.db');
    }
}


$db = new MyDB();


$db->exec('CREATE TABLE foo (bar STRING)');
$db->exec("INSERT INTO foo (bar) VALUES ('This is a test')");


$result = $db->query('SELECT bar FROM foo');
var_dump($result->fetchArray());
?>
是不是非常的简单!这个服务架构都安装好了,下面我们就可以在上面放置一些服务程序了。


附:安装过程中遇到的很多错误是缺少了相关的类库、工具包,可以用下面的命令一次安装完成:


sudo apt-get install build-essential zlib1g zlib1g-dev zlibc libxml2 libxml2-dev libpcre3-dev libbz2-dev
标签:lighttpdlinuxphp
0 0
原创粉丝点击