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 配置文件中open_basedir选项作用
Jul 19 PHP
PHP UTF8编码内的繁简转换类
Jul 20 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
PHP中的string类型使用说明
Jul 27 PHP
Php Image Resize图片大小调整的函数代码
Jan 17 PHP
php设计模式 Composite (组合模式)
Jun 26 PHP
Laravel框架数据库CURD操作、连贯操作总结
Sep 03 PHP
深入浅析yii2-gii自定义模板的方法
Apr 26 PHP
理解php依赖注入和控制反转
May 11 PHP
php array_pop 删除数组最后一个元素实例
Nov 02 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
Apr 04 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
Yii 使用intervention/image拓展实现图像处理功能
2019/06/22 PHP
Nodejs中自定义事件实例
2014/06/20 NodeJs
jQuery构造函数init参数分析续
2015/05/13 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
浅析jQuery Mobile的初始化事件
2015/12/03 Javascript
JS实现可编辑的后台管理菜单功能【附demo源码下载】
2016/09/13 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
easyui-datagrid开发实践(总结)
2017/08/02 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
浅谈Postman解决token传参的问题
2018/03/31 Javascript
Vue 使用 Mint UI 实现左滑删除效果CellSwipe
2018/04/27 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
es6函数之箭头函数用法实例详解
2020/04/25 Javascript
vue 组件简介
2020/07/31 Javascript
解决vue使用vant下拉框van-dropdown-item 绑定title值不变问题
2020/08/05 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
[36:02]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第一局
2016/02/28 DOTA
Python map和reduce函数用法示例
2015/02/26 Python
在Docker上部署Python的Flask框架的教程
2015/04/08 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
名片管理系统python版
2018/01/11 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
CSS3的文字阴影—text-shadow的使用方法
2012/12/25 HTML / CSS
CSS3 实现的火焰动画
2020/12/07 HTML / CSS
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
GAZMAN官网:澳大利亚领先的男装品牌
2019/12/19 全球购物
详细的本科生职业生涯规划范文
2014/09/16 职场文书
个人整改方案范文
2014/10/25 职场文书
社区低保工作总结2015
2015/07/23 职场文书
vue @ ~ 相对路径 路径别名设置方式
2022/06/05 Vue.js