Android + Mini2440 无线网络视频监控系统 Apache + PHP 的移植

发布者:幸福之星最新更新时间:2024-06-21 来源: elecfans关键字:Android  Mini2440  Apache  PHP 手机看文章 扫描二维码
随时随地手机看文章

一、apache的移植

从http://www.apache.org/ 上下载apache_1.3.36.tar.gz,然后解压缩的一个目录。

使用本地的gcc编译这个版本,我用的是Fedora14上的arm-linux-gcc4.4.3,运行:./configure生成makefile文件,make 完成后,不需要make install(如果安装的话,会把pc上的apache安装到默认目录下,此处是usr/local/apache)。

创建一个新的编译arm版本的目录,然后在该目录下解压缩apache_1.3.36,转到该目录下的apache_1.3.36,运行:export  CC='arm-linux-gcc'(export指定环境变量,指定交叉编译器的地址)./configure--prefix=/lusr/local/apache_arm/ --without-execstrip --enable-module=so(生成Makefile文件,--prefix指定apache安装路径默认为usr/local/apache,我们可以在后面加个后缀以示区分)

运行make 命令,这时编译会在apache_1.3.36/src/main/gen_test_char处失败,因为arm版本该程序无法在本地机器运行,你需要把前面编译的本地版本的apache_1.3.36/src/main/gen_test_char覆盖这个arm版本,然后转到arm版本的apache_1.3.36下继续make,随后编译到另一个程序apache_1.3.36/src/main/gen_uri_delims也出现相同的问题,也使用本地版本覆盖掉它,继续make,直到最后编译成功。

# make install

这就编译好了!

还需要配置apache/conf/httpd.conf 来设置服务器的功能,见下面。

移植到rootfs中,由于配置apache的时候“prefix”参数指定的安装位置是/usr/local/apache_arm,所以制作好的文件在/usr/local/apache_arm中,将apache拷贝到rootfs中的usr/local/中

     # cp /usr/local/apache_arm  /nfsroot/rootfs/usr/local/apache_arm / -rf

二、PHP的安装

交叉编译php同样需要两个步骤:1.编译本机代码;2.利用本机代码进行交叉编译。原因我就不重复了,假设为本机编译的php代码已经解压缩到/home/sg131971/php-4.4.8-i586,为ARM编译的php代码已经解压缩到/home/ sg131971/php-4.4.8,交叉编译器arm-linux-gcc已设缺省路径,具体步骤还是用命令来说明:

# cd /home/sg131971/php-4.4.8-i586
# ./configure
# make

在编译的同时,可以打开/home/ sg131971/php-4.4.8/configure这个文件,搜索“can not run test program while cross compiling”,会搜索到很多个这样的结果:

{echo 'configure: error: can not runtest program while cross compiling' 1>&2;exit 1;}

把它们都改为

{ echo 'configure: error: can not runtest program while cross compiling' 1>&2; }

这样做的目的是直接无视交叉编译测试程序错误。

# cd /home/sg131971/php-4.4.8
#CC=arm-linux-gcc ./configure--prefix=/usr/local/php_arm --host=arm-linux --target=arm-linux  --enable-sockets 

别以为可以编译了,还有东西要修改,打开/home/sg131971/php-4.4.8/Makefile,找到这段

install-pear-packages:$(top_builddir)/sapi/cli/php @$(top_builddir)/sapi/cli/php$(PEAR_INSTALL_FLAGS) /home/sg131971/php-4.4.8/pear/install-pear.php-d '$(peardir)' -b '$(bindir)' /home/sg131971/php-4.4.8/pear/packages/*.tar

用上我们刚才编译的本机php里的文件,把它改成

install-pear-packages: /home/sg131971/php-4.4.8-i586/sapi/cli/php @/home/sg131971/php-4.4.8-i586/sapi/cli/php$(PEAR_INSTALL_FLAGS) /home/sg131971/php-4.4.8/pear/install-pear.php -d'$(peardir)' -b '$(bindir)' /home/sg131971/php-4.4.8/pear/packages/*.tar

现在终于可以编译了

# cd /home/sg131971/php-4.4.8

# make
# make install
# exit

这样php就编译完成了。

三、Apache与PHP的配置

需要修改/nfsroot/rootfs/usr/local/apache_arm/conf/httpd.conf文件,此处我就直接将该文件贴出来来了!O(∩_∩)O~

[html]

  1. ServerType standalone  

  2. ServerRoot '/usr/local/apache_arm'  

  3. PidFile /usr/local/apache_arm/logs/httpd.pid  

  4. ScoreBoardFile /usr/local/apache_arm/logs/httpd.scoreboard  

  5. Timeout 300  

  6. KeepAlive On  

  7. MaxKeepAliveRequests 100  

  8. KeepAliveTimeout 15  

  9. MinSpareServers 5  

  10. MaxSpareServers 10  

  11. StartServers 5  

  12. MaxClients 150  

  13. MaxRequestsPerChild 0  

  14. User nobody  

  15. Group nobody  

  16. ServerAdmin sg131971@qq.com  

  17. ServerName www.whut.edu.cn  

  18. DocumentRoot '/usr/local/apache_arm/htdocs'  

  19.   

  20.     Options FollowSymLinks  

  21.     AllowOverride None  

  22.   

  23.   

  24.     Options Indexes FollowSymLinks MultiViews  

  25.     AllowOverride None  

  26.     Order allow,deny  

  27.     Allow from all  

  28.   

  29.   

  30.     UserDir public_html  

  31.   

  32.   

  33.     DirectoryIndex index.html  

  34.     DirectoryIndex index.php  

  35.     DirectoryIndex index.php3  

  36.     DirectoryIndex index.phtml  

  37.   

  38. AccessFileName .htaccess  

  39.   

  40.     Order allow,deny  

  41.     Deny from all  

  42.     Satisfy All  

  43.   

  44. UseCanonicalName On  

  45.   

  46.     TypesConfig /usr/local/apache_arm/conf/mime.types  

  47.   

  48. DefaultType text/plain  

  49.   

  50.     MIMEMagicFile /usr/local/apache_arm/conf/magic  

  51.   

  52. HostnameLookups Off  

  53. ErrorLog /usr/local/apache_arm/logs/error_log  

  54. LogLevel warn  

  55. LogFormat '%h %l %u %t '%r' %>s %b '%{Referer}i' '%{User-Agent}i'' combined  

  56. LogFormat '%h %l %u %t '%r' %>s %b' common  

  57. LogFormat '%{Referer}i -> %U' referer  

  58. LogFormat '%{User-agent}i' agent  

  59. CustomLog /usr/local/apache_arm/logs/access_log common  

  60. ServerSignature On  

  61.   

  62.     Alias /icons/ '/usr/local/apache_arm/icons/'  

  63.       

  64.         Options Indexes MultiViews  

  65.         AllowOverride None  

  66.         Order allow,deny  

  67.         Allow from all  

  68.       

  69.     Alias /manual/ '/usr/local/apache_arm/htdocs/manual/'  

  70.       

  71.         Options Indexes FollowSymlinks MultiViews  

  72.         AllowOverride None  

  73.         Order allow,deny  

  74.         Allow from all  

  75.       

  76.     ScriptAlias /cgi-bin/ '/usr/local/apache_arm/cgi-bin/'  

  77.     ScriptAlias /php4/ '/usr/local/php_arm/bin/'  

  78.       

  79.         AllowOverride None  

  80.         Options None  

  81.         Order allow,deny  

  82.         Allow from all  

  83.       

  84.   

  85.   

  86.     IndexOptions FancyIndexing  

  87.     AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip  

  88.   

  89.     AddIconByType (TXT,/icons/text.gif) text/*  

  90.     AddIconByType (IMG,/icons/image2.gif) image/*  

  91.     AddIconByType (SND,/icons/sound2.gif) audio/*  

  92.     AddIconByType (VID,/icons/movie.gif) video/*  

  93.     AddIcon /icons/binary.gif .bin .exe  

  94.     AddIcon /icons/binhex.gif .hqx  

  95.     AddIcon /icons/tar.gif .tar  

  96.     AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv  

  97.     AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip  

  98.     AddIcon /icons/a.gif .ps .ai .eps  

  99.     AddIcon /icons/layout.gif .html .shtml .htm .pdf  

  100.     AddIcon /icons/text.gif .txt  

  101.     AddIcon /icons/c.gif .c  

  102.     AddIcon /icons/p.gif .pl .py  

  103.     AddIcon /icons/f.gif .for  

  104.     AddIcon /icons/dvi.gif .dvi  

  105.     AddIcon /icons/uuencoded.gif .uu  

  106.     AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl  

  107.     AddIcon /icons/tex.gif .tex  

  108.     AddIcon /icons/bomb.gif core  

  109.     AddIcon /icons/back.gif ..  

  110.     AddIcon /icons/hand.right.gif README  

  111.     AddIcon /icons/folder.gif ^^DIRECTORY^^  

  112.     AddIcon /icons/blank.gif ^^BLANKICON^^  

  113.     DefaultIcon /icons/unknown.gif  

  114.     ReadmeName README.html  

  115.     HeaderName HEADER.html  

  116.     IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t  

[1] [2]
关键字:Android  Mini2440  Apache  PHP 引用地址:Android + Mini2440 无线网络视频监控系统 Apache + PHP 的移植

上一篇:Android + Mini2440 无线网络视频监控系统 总体规划
下一篇:Android + Mini2440 无线网络视频监控系统 SQLite的移植

推荐阅读最新更新时间:2024-11-16 23:17

谷歌证实今年新款Android One手机将由多家厂商制造
     TNW中文站 5月6日报道 谷歌(微博)Chrome和Android合作关系业务发展主管迈克·海耶斯(Mike Hayes)在接受印度经济时报采访时表示,今年的新款Android One设备将由多家厂商制造。 海耶斯解释说,谷歌的低端Android One设备现已成为广泛硬件战略的一部分。 谷歌想把这些基于其移动OS系统的廉价手机投放到印度、欧洲、土耳其、菲律宾和非洲等拥有巨大潜力的市场。它的最终目标是让更多的人使用其服务,这样它就可以收集到更多的数据来改善广告性能。 海耶斯没有透露这些设备的生产商的名字,但他承认公司经常与Micromax、Karbon和Spice会谈。这几家厂商都是第一代Android
[手机便携]
嵌入式实时操作系统μC/OS-II在S12单片机上移植分析
  1 前 言   在采用前后台系统软件设计模式的嵌入式系统中,主程序是一个无限循环,单任务顺序执行,通过设置一个或多个中断来处理异步事件。这种系统对于简单的应用是可以的,但对于实时性要求比较高的、处理任务较多的应用,就会暴露出实时性差、系统可靠性低、稳定性差等缺点。μC/OS-II 是一个源代码公开、可移植、可裁剪的实时多任务操作系统,具有低成本、稳定可靠、实时性好等优点,是专门针对微处理器和微控制器设计的实时内核,它的内核可以做到很小,很适合在单片机系统上移植。移植了μC/OS-II 的嵌入式系统可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。本文
[单片机]
嵌入式实时操作系统μC/OS-II在S12单片机上<font color='red'>的</font><font color='red'>移植</font>分析
基于μC/OS-II操作系统在SPCE061A上移植优化研究
SPCE061A是凌阳科技新推出的u课SP内核的十六位单片机,内嵌32K字 Flash的SPCE061A时是适用于数字语音识别应用领域的一种经济的选择。它支持精简指令系统,片内具有丰富的硬件资源。只需设计少量的片外扩展电路即可实现应用系统的硬件功能要求。μC/OS-II是一个源代码公开的精简的实时性很强的操作系统内核,移植性强,基于μC/OS-II来设计系统可以提高系统软件开发的效率。将μC/OS-II移植到SPCE061A上,在μC/OS-II的平台上设计软件对于提高相关嵌入式应用系统产品的质量,减少开发周期和降低成本方面有着重要的意义。 基于SPCE061A的硬件最小系统的设计 SPCE061A的系统结构 SPCE
[单片机]
基于μC/OS-II操作系统在SPCE061A上<font color='red'>的</font><font color='red'>移植</font>优化研究
Mini2440 DM9000 驱动分析
net_device_ops中方法的相应说明 /* * This structure defines the management hooks for network devices. * The following hooks can be defined; unless noted otherwise, they are * optional and can be filled with a null pointer. * * int (*ndo_init)(struct net_device *dev); * This function is called once when network device i
[单片机]
捷豹路虎电动车标配苹果和安卓连接功能
据外媒报道称,2019年的新车仪表盘上捷豹路虎将为其添加Apple CarPlay和Android Auto,这为主打炫酷科技的捷豹路虎汽车再添一亮点,但前提是需要买辆新车才能享受到该功能。 图片来自SLASH GEAR         Apple CarPlay和Android Auto智能手机连接服务是为捷豹路虎2019年的某些特定车型定制的,作为选配装备,供消费者自由选择,费用另计。而对于其首款全电动汽车Jaguar I-PACE则将该功能作为标配。         这些特定的车型需要配置InControl Touch Pro或Touch Pro Duo系统。同时捷豹路虎还为InControl Touch Pr
[手机便携]
首款Android Wear 2.0 LG手表配置曝光
此前推特爆料人@evleaks 曾透露Android Wear 2.0将会在2月9日正式上线,首款支持Android Wear 2.0的设备将由谷歌与LG合作推出:LG Watch Sport和LG Watch Style,有消息称这两款手表将于2月8日发布。现在LG Watch Sport智能手表已经现身跑分网站GeekBench。   从GeekBench曝光的信息来看,配置方面LG Watch Sport采用了1.38英寸显示屏,分辨率为480×480,搭载了四核处理器,CPU时钟频率为1.09GHz,具体型号未知,内置768MB RAM+4GB ROM,配备了430mAh电池,系统版本为Android 7.1.1,毫无疑
[手机便携]
友善之臂Mini2440之嵌入式Linux下Nand Flash驱动分析
一、Nand Flash驱动源码文件含义 在Linux内核中,MTD源代码放在/driver/mtd目录下,该目录中包含chips、devices、maps、nand、onenand和ubi六个子目录。其中只有nand和onenand目录中的代码才与Nand驱动有关,nand目录中的代码比较通用,而onenand目录中的代码相对于nand中的代码而言简化了许多,是三星公司开发的另类nand Flash。市场占有率不是很高。所以,开发基于MTD的nand驱动程序,基本上只需要关注nand目录了,包括Kconfig、Makefile以及如下重要文件: 1、nand_base.c 定义了Nand驱动中对nand芯片最基本的操
[单片机]
畅想最好的时代:2010年全球无线产业展望
      对于全球无线产业而言,如果说2009年给人们留下的最大惊喜是3G在中国全面启动带来的新鲜力量和巨大机遇,那么,2010年无疑更加值得期待——快马加鞭的3G用户迁移及技术演进、生机勃发的中国市场、异彩纷呈的智能手机与融合终端、着眼未来的智能本和云计算以及风起云涌的应用商店,无不酝酿着在这个漫长冬季过后恣意展现3G春天所带来的活力与希望。 用户迁移   GSA和CDG的综合数据显示,目前全球3G用户已超过8.85亿,年增长率超过29%,全球超过80%的运营商都在提供3G服务。Wireless Intelligence更预测2013年全球3G用户总数有望增至24亿左右。   根据Yankee Group等机构的最
[网络通信]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved