实操在ARM板上源码编译安装thttpd和PHP的过程

设备用的ARM板,系统用的精减版linux,不支持WEB服务,也不允许安装,只允许代码交叉编译后移植。后查到web服务器tinyhttpd (俗称:thttpd)开源且轻量,费了一下午down码,交编,安装,配置,写出来留念。

按步骤:

1-git到源码,https://github.com/larryhe/tinyhttpd.git

 或者https://github.com/larryhe/tinyhttpd 自己选择是git还是下zip

2-拷贝到ARM机的虚拟机,解压到tinyhttpd_master目录

3-运行./configure --prefix /usr/local/thttpd

4-find . -name Makefile.. 应该是找到3个,修改每个Makefile文件里的CC = gcc   修改成CC=arm-linux-gnueabihf-gcc

实操在ARM板上源码编译安装thttpd和PHP的过程_第1张图片

 

5-make clean && make

实操在ARM板上源码编译安装thttpd和PHP的过程_第2张图片

它没有编译成功的提示,只要不报错,就是编译通过了

6-sudo make install

安装完后,会有这个文件/usr/local/thttpd/sbin/thttpd

7-创建www用户, sudo adduser www

8-创建www根目录,sudo mkdir /usr/www

9-创建配置文件/usr/local/thttpd/sbin/thttpd/thttp.conf

port=8010
user=www
host=0.0.0.0
logfile=/usr/local/thttpd/logs/thttpd.log
pidfile=/usr/local/thttpd/logs/thttpd.pid
#throttles=/usr/local/thttpd/etc/throttle.conf
#urlpat=*.txt|*.mp3
#charset=utf-8
dir=/usr/www
cgipat=/usr/local/thttpd/www/cgi-bin/*

实操在ARM板上源码编译安装thttpd和PHP的过程_第3张图片

--这个.conf文件可以放在任何目录,只要在启动服务的时候,-C参数写对位置就行

--- logfile和pidfile需要手动创建: touch /usr/local/thttpd/logs/thttpd.log; touch /usr/local/thttpd/logs/thttpd.pid,没文件创建文件,没目录创建目录

10-创建主页

vi /usr/www/index.html

11-运行/usr/local/thttpd/sbin/thttpd -C /usr/local/thttpd/sbin/thttp.conf

12-在上位机上http://ARM地址:8010/index.html即可

实操在ARM板上源码编译安装thttpd和PHP的过程_第4张图片

 

 

还有编译安装PHP遇到的坑

按网上的教程就不抄了。有几处注意:

-把Makefile中的CC=gcc改成agcc (我的交编gcc)

-make的时候会提示error: '_FPU_EXTENDED' undeclared (first use in this function):打开提示这句话的.h文件(我这是zend_float.h),去查/usr/include/fpu_contrul.h里面的定义,大概有3个#include,直接copy到出错的.h文件即可。

实操在ARM板上源码编译安装thttpd和PHP的过程_第5张图片

你可能感兴趣的:(嵌入式)