把PHP安装为Apache DSO


Posted in PHP onOctober 09, 2006

look: 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数据库的支持。

./configure --with-mysql=/[path to mysql] --with-apxs=/[path to apxs]

6.回到命令提示行下键入make命令并等到命令执行完成再次回到命令提示状态下。
7.键入make install命令。

在这个时候,编译器将会创建最终的DSO,并把它放在Apache模块目录下,同时会为你修改Apache的httpd.conf 配置文件,之后系统回到命令提示状态下等待你输入新指令。然后,你即可打开Apache的httpd.conf 配置文件做一些修正:

1. 找到有ServerAdmin字样的一行,加入你自己的电子邮件地址,如下所示:

ServerAdmin you@yourdomain.com

2. 找到以ServerName开头的一行,把后面的参数修改为实际值,比如:

ServerName localhost

3. 找到下面一段:

# And for PHP 4.x, use:
#
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps

修改这些配置行以便取消PHP 4.0下的某些加在AddType之前的注释,同时你应该添加一些为PHP所使用的文件扩展名,修改后的以上各行看起来可能会是下面这样子:

# And for PHP 4.x, use:
#
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

保存以上的配置文件,回到上级目录,键入以下命令即可启动Apache:

./bin/apachectl start

如果启动期间没有出现什么问题,你即可测试Apache和PHP的安装情况,方法是创建一个名叫phpinfo.php的文件,其中包含了以下的代码行:

<? phpinfo() ?>

保存该文件并把它放置在Apache的文档根目录下(htdocs),然后启动你的Web浏览器,在浏览器地址栏里键入http://localhost/phpinfo.php,浏览器即会以很大的篇幅显示出PHP和Apache系统的各个变量和变量值。

如果你想要重新设置PHP,你需要做的不外乎是执行make clean命令,然后执行带有新配置选项的./configure命令,接着执行make和make install。这样,Apache模块目录中就会出现一个新模块,你只要重启Apache以装载新模块。以前的许多头疼问题现在就迎刃而解了。

PHP 相关文章推荐
同时提取多条新闻中的文本一例
Oct 09 PHP
第七节--类的静态成员
Nov 16 PHP
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
PHP OPCode缓存 APC详细介绍
Oct 12 PHP
php结合正则获取字符串中数字
Jun 19 PHP
简单谈谈PHP vs Node.js
Jul 17 PHP
ThinkPHP中limit()使用方法详解
Apr 19 PHP
PHP is_array() 检测变量是否是数组的实现方法
Jun 13 PHP
PHPMailer发送邮件
Dec 28 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
Sep 30 PHP
php往mysql中批量插入数据实例教程
Dec 12 PHP
php统计数组不同元素的个数的实例方法
Sep 26 PHP
PHP4中实现动态代理
Oct 09 #PHP
phpmyadmin操作流程
Oct 09 #PHP
一个用于MySQL的PHP XML类
Oct 09 #PHP
ASP知识讲座四
Oct 09 #PHP
php.ini中文版
Oct 09 #PHP
用Apache反向代理设置对外的WWW和文件服务器
Oct 09 #PHP
Mysql的常用命令
Oct 09 #PHP
You might like
PHP封装的MSSql操作类完整实例
2016/05/26 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
2016/01/26 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
详解利用Angular实现多团队模块化SPA开发框架
2017/11/27 Javascript
vue服务端渲染缓存应用详解
2018/09/12 Javascript
小程序的上传文件接口的注意要点解析
2019/09/17 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
[01:07:13]TNC vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:04:31]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第二场 1月8日
2021/03/11 DOTA
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
Python的净值数据接口调用示例分享
2016/03/15 Python
python 垃圾收集机制的实例详解
2017/08/20 Python
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
2019/12/12 Python
python实现井字棋小游戏
2020/03/04 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
HTML5注册表单的自动聚焦与占位文本示例代码
2013/07/19 HTML / CSS
护士的自我鉴定
2014/02/07 职场文书
水电站项目建议书
2014/05/12 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫