在php中运行只有root用户才可以运行的外部程序,一直是个老问题,用常规的办法很难实现。这是因为一般情况下,php是作为apache的一个模块的,也就是说,php是apache的一部分,而apache除了suexec机制外,是不能以不同的用户id来执行命令的,但suexec机制只能cgi有效。 网上曾经有一篇文章,说用调用"su--ccommand"可以实现,但经过多次试验,发现不行,因为su命令必须在stdin上输入root的密码。 怎么办?用常规的方法难以奏效,只能再想其它的方法了。成功的关键在于能有一个可以切换用户id但又可以在命令上输入密码(或不用输入密码)的工具。有这样的工具吗?有,它就是super。 下面就具体说说如何来做? 要注意的是,安装和配置super,都要以root身份来进行。 第一步,切换到root下 第二步,安装super 先到ftp://ftp.mdtsoft....
全球超过300万个互联网网站的管理员都在使用php,使得它成为最为普及的服务器端脚本语言之一。其特点是运行速度快、稳定可靠、跨平台,而且是开放源代码软件。随你使用的水平不同,php可以很简单,也可以很复杂,可以只使用它发送html表格元素,还可以在php应用程序中集成java和xml。 如果你对php有一定的了解或者看过一些初步的教材,这些技巧可以扩展你对php的认识,使你掌握一些常见的和高级的php功能。 一、把php安装为apache的dso php在linux/unix平台上经常与apache搭配使用,在安装php时,有三种安装方式可供选择:静态模式、动态模式(dso)、cgi二进制模式。 由于易于维护和升级,我强烈建议以dso方式安装php。例如,初次安装时如果安装的php仅支持数据库,随后希望再安装支持加密的模块,只要运行“makeclean”,添加新的配置选项,然后再运行...
php控制语句 1、if语句 if语句是多数语言中的一个重要特点,它根据条件执行程序段。php的if语句类似于c: if(expr) statement 正如在表达式中所论述,expr被计算为它的真值。如果expr为true,php执行相应语句,如果为false则忽略它。 如果%24a大于%24b,下例将显示’aisbiggerthanb’: if(%24a>%24b) print"aisbiggerthanb"; 通常,你希望根据条件执行多于一条语句。当然,不需要给每条语句都加上if判断。取而代之,可以把多条语句组成一个语句组。 if语句可以嵌套于其他if语句中,使你能够灵活地有条件的执行程序的各个部分。 2、else语句 通常你希望满足特定条件时执行一条语句,不满足条件是执行另一条语句。else就是用来做这个的。else扩展if语句,在if语句表达式为false时执行另一条语句...
/*** 判断字符串emailaddr是否为合法的email格式* 主要判断'@'及'.'是否出现,以及两者的位置* @param emailaddr 输入的email地址* @return true/false。*/function emailcheck(emailaddr){ if((emailaddr == null) (emailaddr.length < 2)) return false ; // 需出现'@',且不在首字符. var apos = emailaddr.indexof("@" ,1) ; if(apos < 0) { return false ; } // '@'后出现'.',且不紧跟其后. if(emailaddr.indexof("." ,apos+2) < 0) { return false ; } ...
我们编写程序时,无论怎样小心谨慎,犯错总是在所难免的。这些错误通常会迷惑php编译器。如果开发人员无法了解编译器报错信息的含义,那么这些错误信息不仅毫无用处,还会常常让人感到沮丧。编译php脚本时,php编译器会尽其所能报告它遇到的第一个问题。这样就产生一个问题:只有当错误出现时,php才能将它识别出来(本文后面对此问题进行了详细描述)。正是由于这个缘故,编译器指出出错的那行,从表面上看来可能语法正确无误,或者可能是根本就不存在的一行! 更好地理解错误信息可以大大节省确定并改正错误内容所花费的时间。因此,在本文中,我将努力阐明多种不同类型的php报错信息,以及在开发过程中如何正确理解各种报错信息的含义。 本文中所讲述的内容与您所应用的php的版本无关,因为本文所描述的各种错误并不限定于某一特殊版本的特定错误。另外我们假定您是一位初级或者中级程序员,并已经从事编程工作有半年或一年的时间。 编...
一. 10句话1.不要依赖register_global=on的环境,从你刚懂得配置php运行环境甚至尚不明白register_global的on/off会对自己有什么影响的那天起,就应该勇敢地把它设为off.2.写程序前看看怎么用error_reporting.3.不懂就问本身没错,但你需要在那之前查查手册。4.当然,你需要懂得使用手册。手册上找不到答案的时候,应该考虑下网络上的搜索引擎。5.刚学会php+mysql之后,不要叫嚷着要写论坛,要写xxx。要明白,刚学会写汉字并不表示你有能力写诗。6.在学web编程的时候,你应该先去认识html这个朋友。7.有点能力后,试着回答新手的问题,不要看到自己懂的而别人不懂就沾沾自喜,扔下一名“简单,那是基本的东西”就走更要不得。8.思考是一个好习惯,不动手去写就等于空想,什么也没有。9.写好一段程序,如果觉得很满意,一周后再看一遍,也许你会认为它...
db.func:<?function getrows( %24database, %24query ) { mysql_connect ("ftp", "root", ""); %24db = mysql_select_db( %24database ); if ( ! %24db ) { echo "无法连结数据库!"; exit; } %24rows = mysql_query( %24query ); if ( ! %24rows ) { echo "sql指令错误!"; exit; } return %24rows;}function connectdatabase( %24database ) { mysql_connect ("ftp", "root", ""); %24db = mysql_select_db( %24database ); if ( ! %24db ) { echo "无法连结数据库!"; exit; ...
写了几个身份证方面的函数,个人感觉挺有用的,特别是在网络问卷调查时,对个人信息里的身份证进行验证很有用,但是应者寥寥,还是收在自己的blog里算了。 <!--p// 计算身份证校验码,根据国家标准gb 11643-1999 function idcard_verify_number(%24idcard_base){ if (strlen(%24idcard_base) != 17){ return false; } // 加权因子 %24factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); // 校验码对应值 %24verify_number_list = array('1', '0', 'x', '9', '8', '7', '6', '5', '427...
1、关于php重定向方法一:header("location: index.php");方法二:echo "<script>window.location ="%24php_self";</script>";方法三:echo "<meta http-equiv="refresh" content="0; url=index.php">";2、获取访问者浏览器function browse_infor() {%24browser="";%24browserver="";%24browsers =array("lynx","mosaic","aol","opera","java","macweb","webexplorer","omniweb");%24agent = %24globals["http_user_agent"];for (%24i=0; %24i<=7; ...
%24ftp_server = "*.*.*.*";%24ftp_user = "lu";%24ftp_pass = "love you";// set up a connection or die%24conn_id = ftp_connect(%24ftp_server) or die("couldn't connect to %24ftp_server");%24login_result = ftp_login(%24conn_id, %24ftp_user, %24ftp_pass); if ((!%24conn_id) (!%24login_result)) { echo "ftp connection has failed!"; echo "attempted to connect to %24ftp_server for user %24ftp_user_name"; exit; } else { echo "connecte...
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器