请教:php+thttpd在嵌入式ppc8245平台出的问题

xxf19861002 2007-12-10 10:20:22
请教:php+thttpd在嵌入式ppc8245平台出的问题

小弟最近在移植php+thttpd遇到遇到两个问题,希望高手能解答一下:

第一个问题:
thttpd与php混合编译问题?php的配置文件在thttpd里怎么处理?

我用thttpd与php在redhat里做了一个web服务器。
先编译php时把php.ini配置文件配置进来了,并把它做为thttpd的模块
再编译thttpd。
。。。。。。。
我编的网页进行网页间传递参数时,不识别POST方式。
所以我再把php.ini里设置:register_globals = On.
但并没有解决问题
。。。。。。。。。。
我猜测应该是thttpd里编译或运行时没有把这个php.ini配置文件加进来。
我看了Apache+php,在Apache的配置文件里有如下操作:

更改Apache的配置文件

cd /usr/local/apache/conf

vi httpd.conf

找到 AddType application/x-httpd-php .php4 把它前头的#号
给删了当然也可加一行
AddType application/x-httpd-php3.asp
这样用FrontPage编辑会方便一点

我现在想请问谁知道怎么在thttpd里的编译或运行时把这个php.ini加进去对php进行初始化。

后来我对这个问题进行了解决,方法是在源码中把默认的模式改为支持全局变量,修改文件为php/main/main.c,修改register_globals为1即可。
但我到现在还不知道怎么通过配置文件改。


2、第二个问题

我在自己的电脑redhat linux下跑包括了php模块的thttpd程序时,访问自己的网页没有问题
但是在嵌入式板上跑thttpd时就出来了下列问题:
我的index.php写法如下:
<?php
$loaduspw=file("mmclpw.sre");
$usr_1st_trim=trim($loaduspw[0]);//admin:mmcl
//$usr_2nd_trim=trim($loaduspw[1]);//mmcl:mmcl
$usr_1st=split(":",$usr_1st_trim);
$mmcl_username_ck=$usr_1st[0];//admin
$mmcl_password_ck=$usr_1st[1];//mmcl
if($_SERVER['PHP_AUTH_USER']!=$mmcl_username_ck ¦ ¦ $_SERVER['PHP_AUTH_PW']!=$mmcl_password_ck)
{
header('WWW-Authenticate: Basic realm="DUT_MMCL_MPEG4_CODEC"');
header('HTTP/1.0 401 Unauthorized');
echo '禁止登录';
exit();
}?>
<HTML>
<HEAD>
<TITLE> DUT_MMCL MPEG4 CODEC </TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content=no-cache http-equiv=pragma>
<META content="wed, 26 Feb 1997 08:21:57 GMT" http-equiv=expires>
</HEAD>
<FRAMESET border="0" rows="94,*" cols="*" frameBorder="NO" frameSpacing="0" >
<FRAMESET border="0" rows="*" cols="185,*" frameBorder="NO" frameSpacing="0" >
<FRAME name="topLeftFrame" src="logo.htm" scrolling="no" noResize>
<FRAME name="topRightFrame" src="banner.htm" scrolling="no" noResize>
</FRAMESET>
<FRAMESET border="0" rows="*" cols="155,30,*" frameBorder="NO" frameSpacing="0" >
<FRAME name="bottomLeftFrame" src="Menu.htm" scrolling="no" noResize>
<FRAME name="arcFrame" src="arc.htm" scrolling="no" noResize>
<FRAME name="mainFrame" src="main.htm">
</FRAMESET>
</FRAMESET>
<noframes>
<!--BODY onLoad="doPop();"> 对不起,您的浏览器不支持框架! </BODY-->
</noframes>
<HEAD>
<META content=no-cache http-equiv=pragma>
</HEAD>
</HTML>

但在用浏览器访问时,出现了:
403 Forbidden
The requested URL '/vweb_enc_4/banner.htm' resolves to a file which is marked executable but is not a CGI file; retrieving it is forbidden.

403 Forbidden
The requested URL '/vweb_enc_4/main.htm' resolves to a file which is marked executable but is not a CGI file; retrieving it is forbidden.

403 Forbidden
The requested URL '/vweb_enc_4/logo.htm'

403 Forbidden
The requested URL '/vweb_enc_4/Menu.htm' resolves to a file which is marked executable but is not a CGI file; retrieving it is forbidden.

403 Forbidden
The requested URL '/vweb_enc_4/arc.htm' resolves to a file which is marked executable but is not a CGI file; retrieving it is forbidden.

小弟搜了很多资料,都不能解决这个问题。我就弄不明白一模一样的东西在X86上跑没问题,为什么在嵌入式上就出问题了。
对了,在嵌入式上跑 ./thttpd -d ./www 时系统有提示如下:
modprobe:Can't open dependencies file /lib/modules/2.4.24/modules.de)
由于系统内核不是我做的,所以这个是不是引起问题的地方也不得而知了
。。。。。
请大家帮忙,给点建议和帮助
谢谢!
...全文
116 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧