PHP脚本的10个技巧(1)


Posted in PHP onOctober 09, 2006

把PHP安装为Apache DSO

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 相关文章推荐
NT IIS下用ODBC连接数据库
Oct 09 PHP
小偷PHP+Html+缓存
Dec 20 PHP
php统计文章排行示例
Mar 04 PHP
php调用C代码的实现方法
Mar 11 PHP
CodeIgniter输出中文乱码的两种解决办法
Jun 12 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
PHP中is_dir()函数使用指南
May 08 PHP
Zend Framework上传文件重命名的实现方法
Nov 25 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
Laravel学习教程之View模块详解
Sep 18 PHP
调试php程序的简单步骤
Oct 04 PHP
在PHP中实现使用Guzzle执行POST和GET请求
Oct 15 PHP
图书管理程序(三)
Oct 09 #PHP
一个从别的网站抓取信息的例子(域名查询)
Oct 09 #PHP
一个PHP+MSSQL分页的例子
Oct 09 #PHP
基于文本的留言簿
Oct 09 #PHP
图书管理程序(一)
Oct 09 #PHP
图书管理程序(二)
Oct 09 #PHP
改进的IP计数器
Oct 09 #PHP
You might like
判断php数组是否为索引数组的实现方法
2013/06/13 PHP
php中url函数介绍及使用示例
2014/02/13 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
PHP CURL与java http使用方法详解
2018/01/26 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
个人总结的一些关于String、Function、Array的属性和用法
2007/01/10 Javascript
『jQuery』取指定url格式及分割函数应用
2013/04/22 Javascript
基于jquery中children()与find()的区别介绍
2013/04/26 Javascript
用js读、写、删除Cookie代码分享及详细注释说明
2014/06/05 Javascript
jquery实现通用的内容渐显Tab选项卡效果
2015/09/07 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
2017/01/11 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
easyui datagrid 表格中操作栏 按钮图标不显示的解决方法
2017/07/27 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
小试小程序云开发(小结)
2019/06/06 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
vue实现购物车列表
2020/06/30 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
python进程类subprocess的一些操作方法例子
2014/11/22 Python
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
用Python做一个久坐提醒小助手的示例代码
2020/02/10 Python
python圣诞树编写实例详解
2020/02/13 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
python自动化发送邮件实例讲解
2021/01/04 Python
Aeropostale官网:美国著名校园品牌及青少年服饰品牌
2019/03/21 全球购物
乌克兰排名第一的在线旅游超市:Farvater.Travel
2020/01/02 全球购物
酒吧创业计划书
2014/01/18 职场文书
模具数控专业自荐信
2014/01/27 职场文书
结婚幸福感言
2015/08/01 职场文书