PHP两种安装模式的区别

 更新时间:2016年11月25日 17:36  点击:1323
模块化安装:
首先把php4ts.dll移动到或者拷贝到windows/system (Windows 9x/Me)或者winnt/system32 (Windows NT/2000/XP)目录下面,覆盖原来存在的文件; 然后修改Apache配置文件httpd.conf:(假设c:/php/是你的PHP安装路径)
LoadModule php4_module c:/php/sapi/php4apache.dll
AddModule mod_php4.c
AddType application/x-httpd-php .php
做为CGI安装:
如果使用CGI模式,请修改php.ini的设置: cgi.force_redirect = 1,以增强apache的安全性,然后,在httpd.conf插入以下内容:
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
以上是两者的差异,其他都相同。
PHP 怎么这么红
    最近 PHP(Personal Hypertext Preprocessor) 似乎已经成了这一两年来 Linux/Unix 上最广为大家所使用的网页处理语言╋它的方便、强大功能与 OpenSource 的特性使得它正逐渐侵蚀到传统 CGI 甚至是 MicroSoft ASP(Active Server Page)的市场╋几乎各大网站征招人才莫不以会 PHP 作为基本条件。
    PHP 确实有这个资格可以这么红╋原因有下面数点 :
    PHP 是 OpenSource 软件╋完全免费╋可以自由散布╋因此吸引了极多的人来使用╋也因为如此╋吸引到了商业公司为其发展更好的引擎与最佳化软件(请参考 http://www.zend.com/)。
    PHP 本身非常简单易懂╋浅显的指令语法╋外加一些基本的对象导向处理能力╋让新手足以在最短时间内学会。
    PHP 提供了相当多的功能╋包含了数学处理、字符串处理、网络相关功能、各种数据库的支持、影像处理功能、有为数众多的发展者正为 PHP 发展各式各样的新功能╋扩充性极佳。
    PHP 非常容易与 Apache 相结合╋作为 Apache 的模块来使用╋设定安装上相当简单╋也因为 Apache 目前已经占据了 Web Server 全球 60% 的市场╋PHP 自然而然成为 Apache 最佳搭配。
    不过╋这次要讲的主题不是 PHP 在网页设计上的应用╋而是 PHP 在 Shell Script 上的应用╋一般所知的 Shell Script 大约就是 tcsh、bash、perl 或是 python 这几类语言╋我所要谈的就是将 PHP 当成 Shell Script 来使用。
    PHP 执行档的安装
    一般 PHP 作为网页处理语言都是要编译成 Apache 的模块╋这里当然不么做╋也因此编译起来很简单╋只要以 root 的身分进行如下动作 :
    解开 php-3.0.xx.tar.gz
    cd php
    configure
    make
    编译完之后╋在 php 目录下有一个可执行档╋档名为 php╋将它 copy 到 /usr/local/bin 下即可。注意╋如果档案太大╋可以使用 strip 指令将 php 的方式将不必要的信息去除╋这样档案就会小得多了。
    第一个程序
    开始撰写我们的第一个 PHP Shell Script 程序╋这个例子印出 "Hello world !" :
<?
class timer {    
    var $StartTime = 0;    
    var $StopTime = 0;    
    var $TimeSpent = 0;    
    function start(){    
        $this->StartTime = microtime();    
    }    
    function stop(){    
        $this->StopTime    = microtime();    
    }    
    function spent() {    
        if ($this->TimeSpent) {    
       return $this->TimeSpent;    
        } else {    
       $StartMicro = substr($this->StartTime,0,10);    
       $StartSecond = substr($this->StartTime,11,10);    
       $StopMicro    = substr($this->StopTime,0,10);    
       $StopSecond    = substr($this->StopTime,11,10);    
       $start = doubleval($StartMicro) + $StartSecond;    
       $stop    = doubleval($StopMicro) + $StopSecond;    
       $this->TimeSpent = $stop - $start;    
<?
//我只是做一个测试,如果再用类似tmd的字符串,一定要注意,如果字符串中的字符出现在$StartReplaceHtml或者$EndReplaceHtml中,你需要修改下面的preg_replace中的规则
$CheckedMessage="Hello!!他X的..他....X...的....How are you m d ";     //the message to be checked
echo $CheckedMessage."<br>";
$CheckedWords=array("他X的","tmd");//要过滤的非法字符,如果你需要把单个的字符也过滤,比如:他ererX000的过滤出来他,X,的,你就没必要把过滤字符设置成"他X的"只要设置成$CheckedWords=array("他","X","的");就可以了
$StartReplaceHtml="<u><b><font color='#FF0000'>";
$EndReplaceHtml="</font></b></u>";
$CheckOther= true;//设置标示位,是否显示单个的字符,如果设置成true,下面的if(strstr……)就不需要了
for($i=0;$i<count($CheckedWords);$i++){
     if(strstr($CheckedMessage,$CheckedWords[$i])){ //此处可去掉
    $CheckedMessage=eregi_replace($CheckedWords[$i],$StartReplaceHtml.$CheckedWords[$i].$EndReplaceHtml,$CheckedMessage);//如果只过滤诸如"他X的"字符串(是字符串,不是单个字符),可以直接写这句,同时把$CheckOther设置成false
     }
     if($CheckOther == true){
    $CharStringLength = strlen($CheckedWords[$i]);
    for($j=0;$j<$CharStringLength;$j++){
        $AssumeLength=1;//假定截取长度
        if(ord(substr($CheckedWords[$i],$j,$AssumeLength))>0xa0){//如果汉字,假定长度加一
           $AssumeLength++;    
        }
        $SubstrChar = substr($CheckedWords[$i],$j,$AssumeLength);        
<?
/*
GetFileType
用法:GetFiletype($filename)
*/
function GetFiletype($Filename) {
    if (substr_count($Filename, ".") == 0) {        // 检查文件名中是否有.号。
        return;           // 返回空
    } else if (substr($Filename, -1) == ".") {        // 检查是否以.结尾,即无扩展名
        return;           // 返回空
    } else {
        $FileType = strrchr ($Filename, ".");    // 从.号处切割
        $FileType = substr($FileType, 1);    // 去除.号
        return $FileType;       // 返回
    }
}
$Filename = "Testfilename.php4";
$Filename = GetFileType($Filename);
echo $Filename;       //  打印出php4
?>

[!--infotagslink--]

相关文章

  • mysql_connect与mysql_pconnect的区别详解

    在mysql中我们会看到有两种常用的数据库连接模式,一种是长久连接,另一各是页面访问完之后就断了连接,下面我来分别介绍mysql_connect与mysql_pconnect的区别,有需要了解...2016-11-25
  • PHP7快速编译安装的步骤

    编译安装非常的简单了我们现在的php版本已经到了php7了,下文小编来为各位介绍一篇关于PHP7快速编译安装的步骤,希望文章能够帮助到各位。 一、安装必要一些依赖 yum...2016-11-25
  • Rstudio中安装package出现的问题及解决

    这篇文章主要介绍了Rstudio中安装package出现的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • 学习JavaScript设计模式之装饰者模式

    这篇文章主要为大家介绍了JavaScript设计模式中的装饰者模式,对JavaScript设计模式感兴趣的小伙伴们可以参考一下...2016-01-21
  • javascript设计模式之解释器模式详解

    神马是“解释器模式”?先翻开《GOF》看看Definition:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。在开篇之前还是要科普几个概念: 抽象语法树: 解释器模式并未解释如...2014-06-07
  • Postgresql 如何选择正确的关闭模式

    这篇文章主要介绍了Postgresl 如何选择正确的关闭模式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-18
  • PHP编译安装后PHP-FPM使用笔记

    PHP-FPM我们相信各位用高版本的php经常使用到了,下面整理了一些关于PHP-FPM的笔记,有兴趣的可进来看看。 今天赶上了123System OPenVZ VPS全场半价的机会,购入了一...2016-11-25
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

    这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25
  • vscode安装git及项目开发过程

    这篇文章主要介绍了vscode安装git及项目开发过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-19
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • 如何开启mysql中的严格模式

    很多集成的PHP环境(PHPnow WAMP Appserv等)自带的MySQL貌似都没有开启MySQL的严格模式,何为MySQL的严格模式,简单来说就是MySQL自身对数据进行严格的校验(格式、长度、类型等),比如一个整型字段我们写入一个字符串类型的数...2013-10-04
  • Visual Studio 2015下载和安装图文教程

    这篇文章主要为大家详细介绍了Visual Studio 2015下载和安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • Node调试工具JSHint的安装及配置教程

    现在我们介绍一种在Node下检查简单错误的JS代码验证工具JSHint。  JSHint的具体介绍参考http://www.jshint.com/about/,说直白点儿,JSHint就是一个检查JS代码规范与否的工具,它可以用来检查任何(包括server端和client端...2014-05-31
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • C#中out与ref的区别实例解析

    这篇文章主要介绍了C#中out与ref的区别实例解析,对C#初学者有不错的学习借鉴价值,需要的朋友可以参考下...2020-06-25
  • linux服务器快速卸载安装node环境(简单上手)

    这篇文章主要介绍了linux服务器快速卸载安装node环境(简单上手),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
  • PHP中func_get_args(),func_get_arg(),func_num_args()的区别

    复制代码 代码如下:<?php function jb51(){ print_r(func_get_args()); echo "<br>"; echo func_get_arg(1); echo "<br>"; echo func_num_args(); } jb51("www","j...2013-10-04
  • 在PyCharm中安装PaddlePaddle的方法

    这篇文章主要介绍了在PyCharm中安装PaddlePaddle的方法,本文给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-05
  • 谈谈Jquery中的children find 的区别有哪些

    精华:find方法能找子孙,children方法只能找儿子一、Jquery中children 语法.children(selector) 说明expr是表达式,可选参数,所有选择器中的表达式都可以用在这,比如按标签名"div",按类名".class",按序号":first"等等,如果表...2015-10-21
  • Ubuntu20.04安装cuda10.1的步骤(图文教程)

    这篇文章主要介绍了Ubuntu20.04安装cuda10.1的步骤(图文教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-30