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

我们都知道,机房里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数据的例子:

/**

* 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值