PHP脚本的8个技巧(1)把PHP安装为Apache DSO

 更新时间:2016年11月25日 16:15  点击:2072
PHP 经常和Apache Web服务器一道用于Linux/Unix平台。当我们在Apache环境下安装PHP的时候,你有三种安装模式可供选择:静态模块、动态模块(DSO)和CGI。
 
  我建议你最好把PHP安装为Apached的DSO ,这种安装模式的维护和升级都相当简单。比方说,假设你原先只安装了PHP的数据库支持功能。可过了几天之后你又决定要为PHP添加加密功能。很简单,你只要键入make clean命令,然后增加新的配置选项,接着再执行make和 make install命令即可。这样,新的PHP模块就会被安装到Apache上的恰当位置,你只要重新启动Apache就一切OK了,当然,整个过程完全不用重新编译Apache。
 
安装新版本的Apache以及安装作为Apache DSO的PHP的简单步骤如下所示:
1. 从Apache软件基金会这一站点下载Apache服务器软件的最新版本源代码。
 
2. 把代码文件放到/usr/local/ 或者/opt/ 等合适的目录下。
 
3. 用Gunzip命令对代码文件解压缩,然后你可以得到相应的*.tar文件。
 
4. 键入以下的解包命令把以上的tar文件放到形为apache_[version]的目录下:
tar -xvf apache_[version].tar
5. 进到/usr/local/apache_[version] 目录(或者在上面步骤中你所指定的目录)。
 
6. 键入下面的配置命令,用你设定的路径(比如/usr/local/apache[version]等,注意后面不要跟斜线!)取代[path]参数,同时你还要启用mod_so参数以允许Apache使用DSO。
 
./configure --prefix=[path] --enable-module=so
7. 回到命令提示行键入make命令并等待命令执行完成再次回到命令提示状态下。
 
8. 键入make install。
 
到这个时候,编译器即可创建最终的目录并返回到系统的命令提示状态下。
 
接下来安装PHP:
1. 访问PHP主页的下载区域选中最新版本源代码的链接。
 
2. 把下载的文件放到/usr/local/ 或者/opt/等适当的目录下。
 
3. 用Gunzip命令对代码文件解压缩,然后你可以得到相应的*.tar文件。
 
4. 键入以下的解包命令把以上的tar文件放到形为php-[version]的目录下:
tar -xvf php-[version]
5. 进到/usr/local/php-[version]目录下(或者你指定的目录)。
 
现在即可编译PHP DSO,其实这里只需要一个必要的配置选项--with-apxs(Apache bin目录下的一个文件)--不过,为了系统配置更为全面,我们在这里还增加了对MySQL数据库的支持。
一、利用php的文件函数来实现上传
   这段代码分为两个文件,一个为upload.html,一个是upload.php。
    上传文件选择:upload.html 代码如下:



       <html><head><title>上载文件表单</title></head>
       <body>
       <form enctype="multipart/form-data" action="upload.php" method="post">
         <input type="hidden" name="max_file_size" value="100000">
       <center>请选择文件:
         <input name="userfile" type="file">  
         <input type="submit" value="上传文件">
       </center>
       </form>
       </body>
       </html>


    *** 说明 ***
       1、请注意<form enctype="multipart/form-data"......>这是一个标签,我们要实现文件的上传,必须指定为 multipart/form-data ,否则服务器将不知道你在干什么!
       2、值得注意的是文件upload.html中表单选项 MAX_FILE_SIZE 的隐藏值域,通过设置
    其Value(值)可以限制上载文件的大小。
      处理刚刚上传的文件:upload.php 代码如下:



         <html>
         <head>
         <title>处理上载文件</title>
         </head>
         <body>
         <?
         copy($userfile,"newfile");
         echo $userfile."-用户上传到服务器上的文件临时存放的名称<br>";
         echo $userfile_name."-在用户机器上该文件的原始名称<br>";
         echo $userfile_size."-上传文件的实际字节数<br>";
         echo $userfile_type."-如果用户的浏览器提供了这个信息的话,它表示mime的类型。例如image/gif<br>";
         ?>
         </body>
        大家知道,php是一种PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页。当用户打开php页面时,服务端便执行PHP的命令并将执行结果发送至用户的浏览器中,这类似于ASP和CoildFusion,PHP可以运行在WINDOWS和多种版本的UNIX上。除了能够操作您的页面外,PHP还能发送HTTP的标题。您可以设置cookie,管理数字签名和重定向用户,而且它提供了极好的连通性到其它数据库(还有ODBC),集成各种外部库来做用PDF文档解析XML的任何事情。那你还知道可以用php的强大功能做点别的东西吗?
        在以独立的cgi方式运行时,需要一个php可执行程序,他有很多命令行参数的,有些可以用作很好玩的用途,下面是全部的php命令行参数,其中[]表示可有可无的,<&gt;表是一定要的。
      用法 php [-q] [-h] [-s] [-v] [-i] [-f ] | { [args...]}
        -q 安静模式。不输出HTTP头。
        -s 将php程序文件用转化为彩色格式的HTML(比如保留字用绿色,函数和变量为蓝色,注释为黄色而字串则是红色等等。
        -f 读入并解释指明的文件。
        -c 在中读入php.ini文件
        -a 交互式运行
        -d foo[=bar] 定义ini中的输入项 foo 的值为 bar
        -e 输出额外信息以便调试和性能分析
        -z 调入Zend扩展文件
        -i php的相关信息
        -h help本身。
      哈,知道如何利用它了吗?
      对了,
      1.用php -q 文件名.php 方式把php程序当shell程序来用,
      2.用 -s把自己的php程序html化。这样是不是很省心?
      3.利用php的odbc功能可以在shell命令中对数据库进行操作。
      还有很多,就看你的创意了。哦,别忘了告诉我一声。


        现在有越来越多的个人主页站长需要了解如何如何在windows系统下配置自己的php,cgi服务器,以方便本地调试cgi和php的程序。
        我们可以用Apache(windows版)来一次搞定:以下由我自己整理的关于在单机Windows环境下的安装和配置 Apache Server 的文章。如果您正在 Windows 单机环境下测试自己的网站,建议您参考一下。
        主要包括:安装和配置 Apache Server;使用 Perl CGI 脚本;使用 PHP 脚本。
       
      --部分内容参考《Apache Server 系统管理员手册》。
       
        一、Windows 下的安装
        当然,你首先得要有Apache的安装程序。不妨先到http://www.apache.org/dist看看。在这里有世界范围的Apache镜像站点列表,找到离你最近的那个。如果在国内,这里建议你到软件屋去看看。A pache的安装程序一般的文件名是apache_1_3_x.win32.exe。把它当到你机器里,运行它。
        安装程序会提示你修改Apache安装的缺省目录位置C:Program FilesApache GroupApache。为了方便以后的配置和维护,建议你安装在根目录下,比方C:Apache。之后,你会被提示选择安装类型,建议你选择Cus tom(定制),这样,你将知道安装了些什么。具体项目有Application File(应用程序文件)、Source Code(源代码)、Apache Manual(Apache 手册)、Additional Modules(附加模块)、Icons(图标)、Repuired Directories(必须目录)。你可以根据你的情况来决定如何安装。
        一切顺利的话(此时不应该有什么问题了),安装很快就会完成。Apache会自动的完成一些基本配置,你可以用UltraEdit-32(或者是其他的文本编辑软件)打开c onfhttpd.conf文件大致了解一下。
        二、配置 Apache Server
        这里首先进行的是基本的配置,以便你的Apache Server以你的意愿运行起来。
        用UltraEdit-32(或者是其他的文本编辑软件)打开confhttpd.conf文件。
        1、寻找到ServerName。这里定义你的域名。这样,当Apache Server运行时,你可以在浏览器中访问自己的站点。如果前面有#,记得删除它,这是conf的注释标记。
        2、寻找到ServerAdmin。这里输入你的E-Mail地址。如果你仅仅是单机使用,改不改没什么关系。
        3、寻找到。向下有一句Options,去掉后面所有的参数,加一个All(注意区分大小写!下同。);接着还有一句Allow Override,也同样去掉后面所有的参数,加一个All。
      一.概述:
      Zend引擎的名称由Zeev Suraski和Andi Gutmans二位在PHP担任核心开发工作的资深设计师的名字合体.开发的目的师为了研发新的脚本执行机制,而PHP4就是这套崭新的Zend引擎的第一个实作产品。在一些特殊测试环境下,Zend(PHP$)的执行速度比PHP3及ASP快了几倍到几百倍之多,这也意味着网站的后端CGI界面的统一者非PHP4 Zend莫属了。(当然,技术是不断进步的,说不定哪一天又出现了新的引擎。)
      Zend引擎在研发二年多之后,已经变成类似VBA功能的广义程式环境,它不但有传统的PHP函数功能,更增加了分散式物件(COM)的功能,并且能够在不同的操作平台上执行。以这种潜力发展下去,VBA的终结者非Zend莫属。
       
      Zend在PHP4上实作时更针对了PHP3之前最大缺憾的session做了最完整的承诺,同时加入了一些未来的功能,如CyberCash...等等。
       
      在opensource社群中,唯一能保持声势,却又尚未被微软公司视为竞争对手的,PHP/Zend是最好的例子。它已经完全地将ASP丢到了身后,正往VBA的环境发展。而微软只全力对付Linux,没有注意到来自PHP/Zend的威胁。
       
      Web服务器发觉是PHP的要求,需要PHP引擎解析(根据文件的扩展名),于是将它送到PHP4的Zend引擎上。
       
      Zend引擎将文件从硬盘上读取,送到Zend线上编译器(Run-time Compiler),进行程序直译工作。(或许日后的Zend Compiler出来以后可以省略线上编译工作。)
      Zend引擎的线上执行单元(Excutor)执行编译过的PHP程序。并在需要时找相关的模组执行协力动作(如XML,IMAP,ODBC...等等)。
       
      Zend将执行后的结果整理成HTML文件,送给Web服务器。
       
      Web服务器将结果通过网络,传回使用者的浏览器。
       
      目前的Zend产品有下列四种:
      Zend Engine:Zend引擎 Zend引擎目前只做出PHP4一种产品,提供类似微软的VBA及跨平台的功能。而目前在网络上的流行,也为Zend引擎作了最佳的见证。在Zend的四大产品中,这是目前唯一成熟的产品。
       
      Zend Optimizer:Zend极限器 将PHP的核心重新调整,让PHP程序执行的效率更高。主要能加快PHP代码的执行速度及降低CPU的负担,将潜伏时间减少。
       
      Zend Cache:Zend快取 将PHP程序快取到Web服务器的记忆体中,让系统不用再一直从硬盘读取PHP程序,可大幅度缩短系统的反应时间,降低网络的负荷。存在Cache的资料甚至可以不用再直译过,减少处理的资源。
       
      Zend Compiler:Zend编译器 这恐怕是Zend的最终极武器,它可让PHP的程序代码经过编译后,以Zend中间码(ZIC,Zend Intermediate Code)的形式存在。
       
      可以保护PHP的源代码,不让使用者看到,让PHP的源代码有安全保障。预料本产品出现之后,将对整个网络产生不小的影响,PHP码的物件库,将会到处可见,软件业也会提供相关的函数库或物件库给PHP编程者。届时,可能会有PHP大战Java的情形。
[!--infotagslink--]

相关文章

  • PHP7快速编译安装的步骤

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

    这篇文章主要介绍了Rstudio中安装package出现的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • photoshop打开很慢怎么办 ps打开慢的设置技巧

    photoshop软件是一款专业的图像设计软件了,但对电脑的要求也是越高越好的,如果配置一般打开ps会比较慢了,那么photoshop打开很慢怎么办呢,下面来看问题解决办法。 1、...2016-09-14
  • Jquery Ajax Error 调试错误的技巧

    JQuery使我们在开发Ajax应用程序的时候提高了效率,减少了许多兼容性问题,我们在Ajax项目中,遇到ajax异步获取数据出错怎么办,我们可以通过捕捉error事件来获取出错的信息。在没给大家介绍正文之前先给分享Jquery中AJAX参...2015-11-24
  • PHP编译安装后PHP-FPM使用笔记

    PHP-FPM我们相信各位用高版本的php经常使用到了,下面整理了一些关于PHP-FPM的笔记,有兴趣的可进来看看。 今天赶上了123System OPenVZ VPS全场半价的机会,购入了一...2016-11-25
  • 安装和使用percona-toolkit来辅助操作MySQL的基本教程

    一、percona-toolkit简介 percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: 检查master和slave数据的一致性 有效地对记录进行归档 查找重复的索...2015-11-24
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

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

    这篇文章主要介绍了vscode安装git及项目开发过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-19
  • php语言中使用json的技巧及json的实现代码详解

    目前,JSON已经成为最流行的数据交换格式之一,各大网站的API几乎都支持它。我写过一篇《数据类型和JSON格式》,探讨它的设计思想。今天,我想总结一下PHP语言对它的支持,这是开发互联网应用程序(特别是编写API)必须了解的知识...2015-10-30
  • 基于PHP给大家讲解防刷票的一些技巧

    刷票行为,一直以来都是个难题,无法从根本上防止。但是我们可以尽量减少刷票的伤害,比如:通过人为增加的逻辑限制。基于 PHP,下面介绍防刷票的一些技巧:1、使用CURL进行信息伪造$ch = curl_init(); curl_setopt($ch, CURLOP...2015-11-24
  • Visual Studio 2015下载和安装图文教程

    这篇文章主要为大家详细介绍了Visual Studio 2015下载和安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • Node调试工具JSHint的安装及配置教程

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

    这篇文章主要介绍了在PyCharm中安装PaddlePaddle的方法,本文给大家介绍的非常想详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-02-05
  • 图解Sublime Text3使用技巧

    通过本篇文章给大家介绍Sublime Text3使用技巧的相关知识,对sublime text3技巧相关知识感兴趣的朋友一起学习吧...2015-12-24
  • linux服务器快速卸载安装node环境(简单上手)

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

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

    这篇文章主要介绍了uni-app从安装到卸载的入门教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-05-15
  • Postman安装与使用详细教程 附postman离线安装包

    这篇文章主要介绍了Postman安装与使用详细教程 附postman离线安装包,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-05
  • vs2019安装和使用详细图文教程

    这篇文章主要介绍了vs2019安装和使用详细图文教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25