您的位置:首页 > 运维架构 > Apache

apache+php+mysql自定义安装

2016-04-01 11:56 621 查看
安装系统环境 windows8.1 64位,apache2.4.7 ,php5.6.16 , mysql 5.5

原文:/article/9714407.html

1.apache安装

vcredist_x64.zip 解压后先执行安装,如果不安装,执行apache时会报错。

将httpd-2.4.7-win64-VC11.zip解压到C盘根目录



将 C:\Apache24\bin 配置到系统环境变量path中

【C:\Apache24\bin; 】 //最好后面加个“;”



打开命令行提示符,执行命令: httpd -k install

C:\Windows\system32>httpd -k install

接着会看到安装成功提示

命令行输入netstat -ab 查看80端口是否在被监听

C:\Windows\system32>netstat -an



如上图所示表示apache已经成功启动。

apache 一些命令:

httpd -k install //安装

httpd -k uninstall //卸载

httpd -k start //启动apache

httpd -k stop //停止apache

httpd -k restart //重启apache

httpd help //查看帮助 ,更多的命令通过这个查看

浏览器键入 http://localhost/



可以看到apache 开始工作了!



进入C:\Apache24\conf\httpd.conf

这里我把DocumentRoot修改下,在F:/phptest 我另外创建一个文件夹来保存站点文档,如下图:

!!! httpd.conf 文件每次修改后要重启下apache才能生效!!



这时候浏览器键入 http://localhost/ ,结果:



服务器禁止访问了,为什么呢? 因为我们没有配置相应权限,在httpd.conf 文件中配置下:

<Directory "E:/phptest">
Options Indexes FollowSymLinks
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>


在 E:/phptest 文件夹中我再建立一个 test.php文件,代码如下:

<?php
header("content-type:text/html;charset=utf-8");
for($i = 0 ; $i< 5 ; $i++)
echo $i.'<br>';


重启apache,然后浏览 http://localhost/test.php



可以看到PHP文件里面的内容原样输出到浏览器了。因为还每没有配置PHP语言包,apache只是一个web容器,只负责html的输出,并不能解析PHP代码,下面安装PHP语言包来解决这个问题。

2.php安装

把PHP语言包解压到 C:\php-5.6.16



进入C:\Apache24\conf\httpd.conf ,我们需要做两件事:

加载指定路径的PHP5模块

指定php的后缀文件调用PHP5模块进行处理

#加载指定路径的PHP5模块
LoadModule php5_module "C:/php-5.6.16/php5apache2_4.dll"

#指定php的后缀文件调用PHP5模块进行处理
<FilesMatch "\.php$">
setHandler application/x-httpd-php
</FilesMatch>


指定后缀文件调用PHP模块还有一种写法:

<Directory "E:/phptest">
Options Indexes FollowSymLinks
# .php .ppp .phtml的后缀文件都调用php5模块处理
AddType application/x-httpd-php .php .ppp .phtml
Require all granted
</Directory>




重启apache,然后浏览 http://localhost/test.php 可以看到正常解析PHP文件了:



在test.php文件里添加代码如下:

<?php
header("content-type:text/html;charset=utf-8");
for($i = 0 ; $i< 5 ; $i++)
echo $i.'<br>';
//显示时间
echo date('Y-m-d H:i:s');
echo '<br>';


浏览 http://localhost/test.php



出现警告了,叫我们去配置好timezone,这个东西得在php.ini文件中配置,进入 C:\php-5.6.16



复制一份php.ini-development,并改名为php.ini



打开php.ini文件 设置 : date.timezone = PRC



配置好了php.ini中的timzone,浏览 http://localhost/test.php 还是不行!!!来看看为什么呢???

在 E:\phptest 文件夹下 新建 info.php文件代码如下:

<?php
header("content-type:text/html;charset=utf-8");
//获取php环境信息
phpinfo();


浏览 http://localhost/info.php



原来是apache没能成功加载到php.ini文件,那我们得去C:\Apache24\conf\httpd.conf 中配置php.ini路径:

PhpIniDir “C:/php-5.6.16”



重启apache,浏览 http://localhost/test.php 时间已经正常显示且按照中国的时区显示。



3.mysql安装

test.php 添加如下代码

<?php

header("content-type:text/html;charset=utf-8");
for($i = 0 ; $i< 5 ; $i++)
echo $i.'<br>';
//显示时间
echo date('Y-m-d H:i:s');
echo '<br>';
$conn = @mysql_connect('localhost','root','root');


浏览 http://localhost/test.php



提示致命的错误,因为php语言包没有打开mysql扩展,进入php.ini文件:

1. 打开mysql扩展



2.配置扩展路径





再来浏览 http://localhost/test.php



现在把mysql安装好:





















test.php 添加如下代码:

<?php

header("content-type:text/html;charset=utf-8");
for($i = 0 ; $i< 5 ; $i++)
echo $i.'<br>';
//显示时间
echo date('Y-m-d H:i:s');
echo '<br>';
$conn = @mysql_connect('localhost','root','root');
echo '<br>';
var_dump($conn);


浏览 http://localhost/test.php



这时候 apache + php + mysql 都基本配置完毕。

PS:httpd -t 命令可以用来调试C:\Apache24\conf\httpd.conf 配置文件的错误。



Apache虚拟主机配置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: