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 相关文章推荐
PHP 得到根目录的 __FILE__ 常量
Jul 23 PHP
php垃圾代码优化操作代码
Aug 05 PHP
使用NetBeans + Xdebug调试PHP程序的方法
Apr 12 PHP
说说PHP的autoLoad自动加载机制
Sep 27 PHP
php并发对MYSQL造成压力的解决方法
Feb 21 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
thinkphp的URL路由规则与配置实例
Nov 26 PHP
thinkphp实现上一篇与下一篇的方法
Dec 08 PHP
浅谈PHP中Stream(流)
Jun 08 PHP
php字符串操作针对负值的判断分析
Jul 28 PHP
深入了解PHP中的Array数组和foreach
Nov 06 PHP
Yii2框架实现登陆添加验证码功能示例
Jul 12 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
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
咖啡知识 咖啡养豆要养多久 排气又是什么
2021/03/06 新手入门
摘自织梦CMS中的图片处理类
2015/08/08 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
PHP实现断点续传乱序合并文件的方法
2018/09/06 PHP
laravel使用Faker数据填充的实现方法
2019/04/12 PHP
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
Jquery chosen动态设置值实例介绍
2013/08/08 Javascript
Js实现简单的小球运动特效
2016/02/18 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
详解基于 axios 的 Vue 项目 http 请求优化
2017/09/04 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
js前端如何写一个精确的倒计时代码
2019/10/25 Javascript
[56:46]Liquid vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
Python中的日期时间处理详解
2016/11/17 Python
Python中生成器和迭代器的区别详解
2018/02/10 Python
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
python基于三阶贝塞尔曲线的数据平滑算法
2019/12/27 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
Python正则re模块使用步骤及原理解析
2020/08/18 Python
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
BIBLOO波兰:捷克的一家在线服装店
2018/03/09 全球购物
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
经典演讲稿开场白
2014/08/25 职场文书
党支部群众路线整改措施思想汇报
2014/10/10 职场文书
个人培训总结
2015/03/05 职场文书
离婚被告答辩状
2015/05/22 职场文书
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang
Apache Hudi的多版本清理服务彻底讲解
2022/03/31 Servers
详解Go语言中Get/Post请求测试
2022/06/01 Golang
mysql查看表结构的三种方法总结
2022/07/07 MySQL