本文主要讲诉Apache+PHP的环境搭建关联,不包括PHP开发用的IDE

一、Apache安装与测试

1、下载安装Apache

Apache下载:

http://httpd.apache.org/

http://mirrors.cnnic.cn/apache/httpd/

解压

安装之前最好先关掉QQ管家,360等防护软件,防止安装失败

命令行下进入到apache下面的bin目录,输入

httpd -k install

安装apache

2、配置Apache里面的文件

进入到解压目录下的conf文件夹,打开httpd.conf(再打开之前先保存一份,以免出错)

找到Listen 80,改成Listen 8080(不一定要8080,只要没有被占用的端口)

(打开网页的过程中,浏览器是客户端,Apache是服务端,服务端listen 8090端口,浏览器connect 8090端口。浏览器自己也有一个端口,且肯定不是8090,否则端口冲突。)

把Apache的bin文件夹路径添加到path环境变量中。

使用httpd -k start启动Apache

浏览器属兔localhost:8090测试,看看能不能打开网页。(有it work的字样表示Apache安装成功)

二、PHP安装

PHP下载:

http://windows.php.net/download

下载的时候根据不同的版本要安装不同的编译库,否者无法启动PHP。


我下载的是VC14版本,所以要下载安装Visual C++ Redistributable for Visual Studio 2015 x86 or x64。

三、在Apache中配置PHP

1、打开Apache的conf文件夹下的httpd.conf文件

找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so,在它下面添加

#加载php、Apache链接动态库(红色字体的地方填写自己PHP下的动态库)

LoadModule php7_module "E:/PHP/Enveriment/PHPWin32/php7.0.1/php7apache2_4.dll"

#设置php路径(红色字体的地方填写自己PHP的解压路径)
PHPIniDir "E:/PHP/Enveriment/PHPWin32/php7.0.1/"
AddType application/x-httpd-php .php .html .htm

2、修改站点根目录()

DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">

改为

DocumentRoot "E:/PHP/Workspace"
<Directory "E:/PHP/Workspace">

红色字体为网站放置的位置

用localhost:8090测试,看看能不能打开


能表示配置成功。

四、设置虚拟目录和虚拟主机

1、虚拟目录(打开httpd.conf找到<IfModule dir_module>)

修改如下

#添加虚拟目录
<IfModule dir_module>
#欢迎页面
    DirectoryIndex index.php index.html index.htm
    Alias /sites "E:/PHP/Sites"
    <Directory E:/PHP/Sites>
#访问权限设置
        Options Indexes MultiViews 
        AllowOverride None
        Require all granted
    #    AllowOverride all  
    #    Order allow,deny  
    #    Allow from all 
    </Directory>
</IfModule>

测试:浏览器输入localhost:8090/sites

2、虚拟主机

(1)打开httpd.conf找到Include conf/extra/httpd-vhosts.conf,去掉前面的#号

(2)进入apache24/conf/extra,打开httpd-vhosts.conf

注释掉原来的两个VirtualHost,保留

<VirtualHost _default_:80>
DocumentRoot "${SRVROOT}/htdocs"
#ServerName www.example.com:80
</VirtualHost> 

添加

<VirtualHost *:8090>
    DocumentRoot "E:/PHP/Workspace"
    ServerName phpworkspace
    ErrorLog "logs/phpworkspace-error.log"
    CustomLog "logs/phpworkspace-access.log" common
</VirtualHost>

(3)打开hosts文件添加

127.0.0.1        phpworkspace

(4)测试

在E:/PHP/Workspace下添加文件info.php

输入<?php
    phpinfo();
?>

浏览器打开phpworkspace/info.php,测试是否成功

总结:从输入浏览器的地址可以看出虚拟目录是在原localhost主机下设置了一个文件目录(即虚拟目录是在虚拟主机下设置的,前面必须加上虚拟主机名),虚拟主机是一个独立的主机。他们的原理都是把http地址映射到电脑的对应目录下。

五、出现的问题

1、C:\Users\Administrator>httpd -k start出现

httpd: Syntax error on line 178 of ...../Apache24/conf/httpd.
conf: Cannot load ...../php7.0.1/php7apache2_4.dll into ser
ver: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3

表示你没有安装PHP对应的编译库,我在第二部分PHP安装中有提到。下载对应的Visual C++ Redistributable即可

2、

C:\Users\Administrator>httpd -k restart
httpd: Syntax error on line 39 of ...../Apache24/conf/httpd.c
onf: ServerRoot must be a valid directory

表示找不到ServerRoot的正确路经

修改httpd.conf的39(或38)行

Define SRVROOT "...../Apache24"
ServerRoot "${SRVROOT}"

注意:...../Apache24是你Apache的解压路径

3、在配置Apache和php后无法启动Apache,又没有提示什么错误

找到php.exe双击运行,一般就会看到错误提示了。(就是找php有关的错误,就去双击php.exe)

如:提示“无法启动此程序,因为计算机中丢失VCRUNTIME140.dll。尝试重新安装该程序以解决此问题”

解决方法和问题一一样。

4、点击php.exe提示fbclient.dll丢失

链接FireBird数据库,需下载Firebird
解说地址:https://wiki.php.net/internals/windows/libs/firebird
下载地址:http://www.firebirdsql.org/en/firebird-2-5/


参考文章:

http://jingyan.baidu.com/article/29697b912f6539ab20de3cf8.html

http://blog.csdn.net/wangdingqiaoit/article/details/7585068

http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html

http://www.cnblogs.com/wecnlove/p/4432114.html

http://blog.sina.com.cn/s/blog_75ad10100101m5q6.html

注意:...../Apache24是你Apache的解压路径
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐