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 删除数组元素
Jan 16 PHP
php 生成WML页面方法详解
Aug 09 PHP
php表单提交问题的解决方法
Apr 12 PHP
php中time()和mktime()方法的区别
Sep 28 PHP
phpQuery占用内存过多的处理方法
Nov 13 PHP
php自定义分页类完整实例
Dec 25 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
Oct 03 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 PHP
PHP基于DOM创建xml文档的方法示例
Feb 08 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
Mar 13 PHP
php 使用curl模拟ip和来源进行访问的实现方法
May 02 PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 09 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
php提高脚本性能的4个技巧
2020/08/18 PHP
JavaScript 仿关机效果的图片层
2008/12/26 Javascript
DWR实现模拟Google搜索效果实现原理及代码
2013/01/30 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
Javascript排序算法之计数排序的实例
2014/04/05 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
2017/08/24 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
vue实现登录后页面跳转到之前页面
2018/01/07 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
详解angular2.x创建项目入门指令
2018/10/11 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
node.js实现为PDF添加水印的示例代码
2018/12/05 Javascript
基于Vue.js与WordPress Rest API构建单页应用详解
2019/09/16 Javascript
vue的路由映射问题及解决方案
2019/10/14 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
python中 logging的使用详解
2017/10/25 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
2020/04/17 Python
基于Tensorflow一维卷积用法详解
2020/05/22 Python
Pycharm Git 设置方法
2020/09/15 Python
Python猫眼电影最近上映的电影票房信息
2020/09/18 Python
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
找到不普通的东西:Bonanza
2016/10/20 全球购物
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
小学六年级学生评语
2014/04/22 职场文书
出纳工作检讨书
2014/10/18 职场文书
2015年新农合工作总结
2015/03/30 职场文书
党员承诺书范文2015
2015/04/27 职场文书
python 自动化偷懒的四个实用操作
2021/04/11 Python