[修改回复]
删除回复
插入表情:
宋体
楷体
幼圆
黑体
隶书
华文行楷
方正舒体
Arial
Arial Black
Arial Narrow
Century Gothic
Comic Sans MS
#0000FF
#8A2BE2
#DEB887
#5F9EA0
#7FFF00
#000000
#D2691E
#FF7F50
#FF0000
#DC143C
#99ccff
字体颜色
#FFF8DC
#00FFFF
#EE82EE
#F5DEB3
#FFFFFF
#F5F5F5
#FFFF00
#9ACD32
使用帮助
24.有关php的DSO编译方式产生undefined symbol:uncompress错误的解决 感谢viva,尽管我没遇到过--如果你遇过看看吧。 哈哈,碰见这样的问题首先你没有好好看安装文件,没有看看configure的参数,我是这样解决的。 php的dso安装说明: 1。编译mysql源码文件 如果你要用这个--with-mysql参数 需要mysqlclient.so,这个文件需要mysql的源码重新编译产生 去mysql的主页下载源码文件,看看安装说明如何编译 我的环境是redhat 7.2 根据安装说明文件提示: CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charset=complex 修改说明文件中的参数--disable-shared 为--enable-shared 否则共享库libmysqlclient.so不会产生,其他参数你慢慢调试 然后根据php的安装文件提示修改/etc/ld.so.conf 加入libmysqlclient.so 的文件路径 执行ldconfig 2。php安装 根据php的DSO安装文件提示安装就可以了,要用源码编译后的mysql路径编译php。 真是搞不懂php.net是怎样解决问题的,那么多同这类似的问题 却没有一个得到满意的答案,只有慢慢啃他的文档,结果搞定,想不到吧,文档很重要哦 25.在debian中安装apache+php+mysql 在debian中安装apache+php+mysql中非常简单, 1.安装: apt-get install apache php4 mysql 则自动下载所需要的软件包,确认安装.安装过程中都选ok,然后会提示你是否现在就启动,确认启动. 2.测试: 写一个测试文件:<? phpinfo(); ?> 感觉一都ok,但进行连接数据库测试,则有问题,死活都连接不上,发了封信到debian-chinese-gb@lists.debian.org,很快一位叫Alex的网友回复. 原来还需要下载一个php4-mysql, apt-get install php4-mysql 安装中提示你需要在php.ini文件中增加一行:extension=mysql.so 确认后会自动在php.ini文件中增加 一切ok.测试也没什么问题,phpinfo测试文件中也出现了mysql相关内容. 在开始安装时增加一个php4-mysql应该也可以. 26。Apache与mod_python的整合 fei最近一直在看Python的书,深深被这种语言的优秀简练和有趣而打动,很是着迷。当然想把它用于Web开发,前面limodou兄写了把Python做为外部CGI的方法----不过有Apache的内部模块mod_python当然是用它了--优点多多(如果你知道Mod_perl和FastCGI你就会明白。看看mod_python的官方数据:Performance Some very quick tests showed a very apparent performance increase: Platform: 300Mhz Pentium MMX (Sony Vaio PCG-505TR), FreeBSD Program: A script that first imported the standard library cgi module, then output a single word "Hello!". Measuring tool: ab (included with apache), 1000 requests. Standard CGI: 5 requests/s Cgihandler: 40 requests/s As a handler: 140 requests/s还有个mod-snake据说可以把Python嵌在HTML中,fei下载了不过还没试,因为从sourceforge上看好象停止开发了:(--网上并没有Apache与Mod_python整合的资料--所以fei自己动手并参考Mod_python的文档-总结出这篇文章--希望对大家有所帮助。 我使用的版本是Apache1.3.26,Python2.2.1,Mod_python2.7.8,(下载都可到ftp://202.96.64.158/pub),平台redhat7.2在安装过程中还真遇到了不少麻烦-并不象以往Apache模块那么好装,虽然最后解决了--但还真是值得一写的。 1。先装好Apache1.3.26----正常装--可支持DSO,加上--enable-shared=max就行。--这步没什么好说的--不过Apache2.0还不支持,1.3也最好是1.3.20以上。如果你想把mod_python做为静态模块也是可以的--见后面。 2。装Python,这里要注意--最好不要使用线程,因为Apache1.3还不怎么支持线程。如果用了的话后来起动Apache时会说Cannot load /root/apache1326/libexec/mod_python.so into server: /root/apache1326/libexec/mod_python.so: undefined symbol: pthread_sigmask--我是用Python源码装的--configure时加上了--without-threads选项,然后make,make install,最后最好设一下PATH和PYTHONPATH环境变量-使得python能被找到-否则如果Mod_python找不到库的话会有很多错误。这里要切记。 3。装Mod_python,这里先configure--注意有三个重要选项。--with-apxs找到apxs以生成DSO模块,--with-apache=这步就是用于生成静态模块了,在make后用make install_static生成,然后./configure --activate-module=src/modules/python/libpython.a-和PHP的安装方式差不多。不过我们一般还是用DSO方式,--with-python这步如果你按我说的设了环境变量的话就不用加了。configure后就make,注意make后要make install_py_lib,否则起Apache时会说undefined symbol:openpty,这步我想了很久。然后make install. 4.配Apache,加上LoadModule python_module libexec/mod_python.so AddModule mod_python.c,再在你要用CGI的目录上设 <Directory /some/directory/htdocs/test> AddHandler python-program .py PythonHandler mptest PythonDebug On </Directory> 重起Apache。 5。测试。最后在test目录中编写一个mptest.py,内容如下: from mod_python import apache def handler(req): req.send_http_header() req.write("Hello World!") return apache.OK 注意一定要小心缩进--否则会产生异常!然后访问test/mptest.py如果看到Hello World! 那就恭喜你大功告成了! 如果在安装过程有未知问题,请与fei联系xf5@163.net,对于mod_python更详细的用法和说明可见http://www.modpython.org/live/mod_python-2.7.8/doc-html/ 27。kuu的程序解决apache中文文件名问题--大家试试 前段时间好象有人问过这个问题:就是在apache目录中不放index文件而由apache自动生成索引,中文文件名保存时不正常的问题。 学校开始放暑假有空,想出个解决办法,希望能有点用。 关于设置IE中的UTF-8,我想可以编一段脚本更改注册表实现(不过那样会不会被当作病毒),也可以在页面上提醒用户更改。 程序附后: <? /************************************************************************/ /* 显示文件索引 */ /* v0.1 2002年7月19日 */ /* */ /* 浙江建设职业技术学院 王进勇 kuu@163.net */ /************************************************************************/ //未解决的问题:无效链接问题,文件大小显示和排序 //要求不显示的文件名 $file_hide=array(".",basename($PHP_SELF), //程序名称 ".htaccess", ); //文件扩展名对应的图标 $file_map=array( "d ir"=>"folder.gif", "htm"=>"text.gif", "html"=>"text.gif", "txt"=>"text.gif", "png"=>"image2.gif", "gif"=>"image2.gif", "jpg"=>"image2.gif", "exe"=>"binary.gif", "com"=>"binary.gif", "bin"=>"binary.gif", "zip"=>"compressed.gif", "gz"=>"compressed.gif", "mp3"=>"sound2.gif", "ra"=>"sound2.gif", "pdf"=>"layout.gif", ); //读入文件名、大小、时间 $handle=opendir('.'); while ($file = readdir($handle)) { //处理“上一级目录” if(".."==$file){ $file_name_back="上一级目录"; $file_icon_back="back.gif"; $file_link_back="../"; $file_size_back="-"; $file_time_back=date("F j Y h:i:s A",filemtime($file)); continue; } //处理不显示的文件名 for($j=0;$j<count($file_hide);$j++) if($file_hide[$j]==$file) $file="."; if("."==$file) continue; //处理其它文件: 取文件名、类型、大小、时间、扩展名、链接文件实际指向 $file_name=$file; //名称 $file_size=("dir"==filetype($file)) ? "-" : filesize($file); //大小 $file_time=filemtime($file); //时间 $file_type=filetype($file); //类型(目录,文件,链接等) //链接的目标为目录则设定其类型为目录 if("link"==filetype($file) && "dir"==filetype(readlink($file)) ) $file_type="dir"; //目录的链接名后加/,非目录不加;目录的扩展名为d ir,非目录取文件扩展名 if("dir"==filetype($file)){ $file_link="$file/"; $file_ext="d ir"; }else{ $file_link="$file"; $file_ext=(strrpos($file,".")) ? substr($file,strrpos($file,".")+1) : "";//扩展名 $file_ext=strtolower($file_ext); //转换成小写 } //根据扩展名取图标文件名 $file_icon=$file_map[ $file_ext ]; if(""==$file_icon) $file_icon="unknown.gif"; //转存到数组中 $file_list[0][]=$file_name; //名称 $file_list[1][]=$file_size; //大小 $file_list[2][]=$file_time; //时间 $file_list[3][]=$file_type; //类型(目录,文件,链接等) $file_list[4][]=$file_link; //链接名 $file_list[5][]=$file_ext; //扩展名 $file_list[6][]=$file_icon; //图标名 } closedir($handle); //列头(可排序) $title_name="<A HREF='$PHP_SELF?sort=NameA'>名称</A>"; $title_size="<A HREF='$PHP_SELF?sort=SizeA'>大小</A>"; $title_time="<A HREF='$PHP_SELF?sort=TimeA'>修改时间</A>"; $title_memo="<A HREF='$PHP_SELF?sort=MemoA'>备注</A>"; //默认根据排序依据列 $file_list_disp=$file_list[0]; //控制根据参数排序 switch ($sort) { case "NameA": asort($file_list[0],SORT_STRING); //根据名称顺序 $title_name="<A HREF='$PHP_SELF?sort=NameB'>名称</A>"; $file_list_disp=$file_list[0]; break; case "NameB": arsort($file_list[0],SORT_STRING); //根据名称降序 $title_name="<A HREF='$PHP_SELF?sort=NameA'>名称</A>"; $file_list_disp=$file_list[0]; break; case "SizeA": asort($file_list[1],SORT_NUMERIC); //根据大小顺序 $title_size="<A HREF='$PHP_SELF?sort=SizeB'>大小</A>"; $file_list_disp=$file_list[1]; break; case "SizeB": arsort($file_list[1],SORT_NUMERIC); //根据大小降序 $title_size="<A HREF='$PHP_SELF?sort=SizeA'>大小</A>"; $file_list_disp=$file_list[1]; break; case "TimeA": asort($file_list[2],SORT_NUMERIC); //根据时间顺序 $title_time="<A HREF='$PHP_SELF?sort=TimeB'>修改时间</A>"; $file_list_disp=$file_list[2]; break; case "TimeB": arsort($file_list[2],SORT_NUMERIC); //根据时间降序 $title_time="<A HREF='$PHP_SELF?sort=TimeA'>修改时间</A>"; $file_list_disp=$file_list[2]; break; default: //默认不排序 } ?> <!-- 以下为HTML文件头 --> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <HTML> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <HEAD> <TITLE>Index of <?= dirname($PHP_SELF) ?></TITLE> </HEAD> <style type="text/css"> <!-- table {font-family: "宋体"; font-size: 13px} --> </style> <BODY> <H1>Index of <?= dirname($PHP_SELF) ?></H1> <!-- 表头开始 --> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="5%" align="center"> </td> <td width="30%" align="left"> <?=$title_name?></td> <td width="8%" align="right"><?=$title_size?></td> <td width="32%" align="center"><?=$title_time?></td> <td width="30%" align="center"><?=$title_memo?></td> </tr> <tr> <td colspan="5"> <hr size="2"> </td> </tr> <!-- 表头结束 --> <? //"上一级目录"固定显示在第一行 echo "<tr height=25>\n"; echo "<td><IMG SRC=\"/icons/".$file_icon_back."\" ALT=\"[".$file_link_back."]\"></td>"; echo "<td><A HREF=\"".$file_link_back."\">".$file_name_back."</A>"."</td>"; echo "<td align=right>".$file_size_back."</td>"; echo "<td align=left> ".$file_time_back."</td>"; echo "<td> </td>"; echo "\n</tr>\n"; //显示其它文件行 //$file_list_disp=$file_list[0]; //arsort($file_list[0]); while (list($i) = each($file_list_disp)) { echo "<tr height=25>\n"; echo "<td><IMG SRC=\"/icons/".$file_list[6][$i]."\" ALT=\"[".$file_list[5][$i]."]\"></td>"; echo "<td><A HREF=\"".$file_list[4][$i]."\">".$file_list[0][$i]."</A>"."</td>"; echo "<td align=right>".$file_list[1][$i]."</td>"; echo "<td align=left> ".date("F j Y h:i:s A",$file_list[2][$i])."</td>"; echo "<td> </td>"; echo "\n</tr>\n"; } ?> <!-- 显示页脚信息 --> </table> <HR> <?=$SERVER_SIGNATURE?> </BODY></HTML>
不能为空
不能含有 ` 字符,字数8000以内
(CTRL+ENTER提交)
关闭窗口