本文主要讲诉Apache+PHP的环境搭建关联,不包括PHP开发用的IDE
一、Apache安装与测试
1、下载安装Apache
Apache下载:
或
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