PHP模块化安装教程


Posted in PHP onJune 01, 2016

本文讲述了PHP模块化安装的方法。分享给大家供大家参考,具体如下:

PHP(Hypertext Preprocessor)这门虽然简单但功能却是非常强大的脚本语言,下面就 基于WindowsXP+sp2的操作平台下的 Apache2.0.53+php5.2.1安装及基本配置过程记录下来以供参考:

一、首先从各官方网站下载以下程序:

1. apache_2.0.53-win32-x86-no_ssl.exe
2. php-5.2.1-Win32.zip (二进制压缩包)

二、安装及配置过程:

1. 安装apache Web 服务器:

双击安装文件apache_2.0.53-win32-x86-no_ssl.exe 将其安装在 D:/Apache目录下(本人在D盘新建了Apache文件夹)下,

-------------------------------------------------------
+ 注意:安装过程可能会出现以下问题:
+ OS 10048通常每个套接字地址 (协议/网络地址/端口) 只允许使用一次:
+ make_sock: could not bind to address 0.0.0.0:80...” 一般是IIS占用了80端口引起的
+ 两种解决方法:
+ 1、打开 控制面板->服务 找到 IIS admin 的服务 关闭并禁用
+ 2、如果不想关闭IIS服务 可将apache使用的端口改成其它端口
+ 将apache2/conf/httpd.conf 中的Listen 80 改为 Listen (你要使用的端口) 如 Listen 8080
+ 不过这时在你访问你的apache 下的Web服务时 在域名后要加上端口号
+ 如: http://localhost:8080
-------------------------------------------------------

测试Apache 是否安装成功,将在浏览器中输入:http://localhost:8080/http://localhost 如果能够看到Apache的标志羽毛,则Congratulations!!!

2. 安装PHP:

将 php-5.2.1-Win32.zip里内容解压到D:/PHP(本人在D盘新建了PHP文件夹)里,找到 php目录里的 php.ini-dist 重命名为 php.ini 并拷到 windows目录里。再将D:/PHP目录里的php5ts.dll,libmysql.dll拷贝到系统目录(windows/systems32 下)。

配置apache里的httpd.conf

打开 D:/Apache2/conf/httpd.conf 这个文件
找到 AddDefaultCharset ISO-8859-1 将其改为 AddDefaultCharset GB2312 (让默认语言编码为简体中文)
找到 DocumentRoot "D:/Apache2/htdocs" 将其改为你的WEB目录(可不改)如我的为 DocumentRoot "G:/Web Project"
找到 DirectoryIndex index.html index.html.var 在后面加入 index.htm index.php

选择安装模式: 模块化模式安装 或 CGI模式安装 (选一样即可)

模块化安装配置

找到 #LoadModule ssl_module modules/mod_ssl.so 这行,在此行后加入一行:

LoadModule php5_module d:/php/php5apache2.dll

其中d:/php/php5apache2.dll 为你php目录中php5apache2.dll所在的位置

注: LoadModule php5_module d:/php/php5apache2.dll        
//注意:其中C:/php5/php5apache2.dll是你安装php的相应路径.不要把php5apache2.dll和 php5apache2 _2.dll混淆.

php5apache2.dll只适用于apache 2.0版本.

如 果是apache2.2.*或以上版本,就可能会出现 "Cannot load C:/php/php5apache2.dll into server: The specified module could not be found."或者:"The requested operation has failed"

找到 AddType application/x-gzip .gz .tgz 这行,在此行后加入一行

AddType application/x-httpd-php .php

CGI安装配置

找到 AddType application/x-gzip .gz .tgz 这行,加入如下即可:

ScriptAlias /php/ "d:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"

注: CGI英文全称是 Common Gateway Interface,通常翻译为共同网关接口,是HTTP服务器与机器上的其他程序进行通信的一个接口。这个“其他程序”可以使用任何计算机语言来编写, 它通过CGI这个接口从HTTP服务器取得输入,然后把运行的结果又通过CGI这个接口交给HTTP服务器,而HTTP服务器把这个结果送给浏览器。

CGI 的出现让WEB从静态变为为动态,随着Web的越来越普及,很多的网站的都需要有动态的页面,以便与浏览者互交。CGI方式的缺点也越来越突出。因为 HTTP要生成一个动态页面,系统就必须启动一个新的进程以运行CGI程序,不断地fork是一项很消耗时间和资源的工作。这就出现了FastCGI。

FastCGI 像是一个常驻 (long-live) 型的 CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去 fork 一次 (这是 CGI 最为人诟病的 fork-and-execute 模式)。

此时PHP环境基本已经配置成功

在WEB根目录(如我的D:/website)里建一个名为test.php的文件内容如下

重新启动apache服务

用浏览器打开 http://localhost/test.php 或  在LINUX系统中:/usr/local/php/bin/php -f test.php

如果可以看到php配置输出信息就OK了

注: 模块化安装 mod_php 就是把PHP做为APACHE一个内置模块。让apache http 服务器本身能够支持PHP语言,不需要每一个请求就启动PHP解释器来解释PHP

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php和js交互一例-PHP教程,PHP应用
Jan 03 PHP
phpfans留言版用到的数据操作类和分页类
Jan 04 PHP
php面向对象全攻略 (九)访问类型
Sep 30 PHP
php 模拟POST提交的2种方法详解
Jun 17 PHP
浅析PHP中Collection 类的设计
Jun 21 PHP
PHP调用C#开发的dll类库方法
Jul 28 PHP
php自动更新版权信息显示的方法
Jun 19 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
Sep 23 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
ZendFramework2连接数据库操作实例
Apr 18 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
Apr 10 PHP
深入理解PHP之源码目录结构与功能说明
Jun 01 #PHP
基于PHP生成简单的验证码
Jun 01 #PHP
深入理解PHP原理之执行周期分析
Jun 01 #PHP
深入理解PHP之OpCode原理详解
Jun 01 #PHP
深入理解PHP中的count函数
May 31 #PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
May 31 #PHP
php中json_encode不兼容JSON_UNESCAPED_UNICODE的解决方案
May 31 #PHP
You might like
优化PHP代码的53条建议
2008/03/27 PHP
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
php使用cookie保存登录用户名的方法
2015/01/26 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
简单三步,搞掂内存泄漏
2007/03/10 Javascript
jquery下实现overlay遮罩层代码
2010/08/25 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
深入浅析jQuery对象$.html
2016/08/22 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
2016/09/19 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
使用html+js+css 实现页面轮播图效果(实例讲解)
2017/09/21 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
利用vue重构有赞商城的思路以及总结整理
2019/02/21 Javascript
如何阻止小程序遮罩层下方图层滚动
2019/09/05 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
python调用短信猫控件实现发短信功能实例
2014/07/04 Python
Python库urllib与urllib2主要区别分析
2014/07/13 Python
Django的信号机制详解
2017/05/05 Python
python实现词法分析器
2019/01/31 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
PyQt 实现使窗口中的元素跟随窗口大小的变化而变化
2019/06/18 Python
Python使用sklearn实现的各种回归算法示例
2019/07/04 Python
pandas进行时间数据的转换和计算时间差并提取年月日
2019/07/06 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
使用CSS3中的calc()属性来以算式表达尺寸数值
2016/06/06 HTML / CSS
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
英国知名奢侈品包包品牌:Milli Millu
2016/12/22 全球购物
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
Timberland法国官网:购买靴子、鞋子、衣服、夹克和配饰
2019/11/30 全球购物
2014年医院科室工作总结
2014/12/20 职场文书
会计入职心得体会
2016/01/22 职场文书
高中物理教学反思
2016/02/19 职场文书