登录   注册
  • 欢迎访问爱乐网,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入爱乐网的大家庭
  • 如果您觉得爱乐网非常符合您的胃口,那么赶紧使用Ctrl+D 将爱乐网加入浏览器收藏夹吧

win10系统phpStudy搭建Apache的PHP开发环境

互联网 爱乐网 1年前 (2016-10-25) 3450次浏览 0个评论 扫描二维码

本人大四学生一枚,最近学校安排了为期一周的HTML5的实训。在实训过程中讲到了AJAX这一部分,进行实训案例练习时需要用到后端技术PHP,开发环境需要PHP+MySQL+Apache,老师提供了phpStudyPHP2014这个集成的开发环境。集成开发环境有很多,只要一键安装就把PHP环境给搭建好了。之前我已经安装好了MySQL,觉的使用phpStudyPHP2014不太方便,于是想着搭建自己的PHP开发环境。

之前没有学习过AJAX,先简单说下我的理解吧。它是一种支持异步请求的技术。用自己的话来讲就是用户在提交一个请求时可以实现局部刷新,而不需要重新载入刷新整个页面。比如想要在在购物车添加某件商品数量时,会重新载入整个页面。如果使用Ajax计算新的总量,服务器只会返回新的总量值,所需的带宽仅为原来的百分之一。再比如,在Ajax中,如果用户在分页列表上单击Next,则服务器数据只刷新列表而不是整个页面。

新手配置环境是非常容易被环境欺负的,最初从网上找搭建教程,发现最新的PHP环境搭建已经是2015年12月的了,当时为了尽快搭好环境,下载了博主提供的压缩包,按照教程进行了配置,却出现了各种错误,最后是我遇到的错误及解决办法汇总,亲测有效。在解决错误时,网上查的资料很多都过时了,解决起来比较困难,后来学会了查看Apache的错误日志Apache24/logs/error.log,提高了效率。白天要上课,自己的时间少,主要在虚拟目录这块儿浪费时间较多,后来发现目前我的需求根本用不着虚拟目录,在若干天之后总算成功了。于是突然奇想,为什么不用最新的Apache和PHP版本自己配置一遍呢?于是有了以下成果。

Apache官网从英文粗略的看出官方不再提供Apache服务器的安装包,只有源码编译。我英语水平相当不给力,这时候感受到了学英语的重要性,看着满屏英语没辙,于是从网上找了找资源,嘿嘿。发现ApacheHaus、Apache Lounge提供了安装包,亲自测试Apache Lounge这个网站是打不开的,最后从www.apachehaus.com下载到了最新的httpd-2.4.23-x64-vc14-r3.zip,查阅资料发现系统必须安装C++ Redistributable Visual Studio 2015 Update 1:VC_redist.x64.exe,还有后面需要用到的FastCGI模块mod_fcgid-2.3.9-win64-VC14.zip。

win10系统phpStudy搭建Apache的PHP开发环境

再上PHP官网http://windows.php.net/download#php-7.0上下载PHP安装包,发现都有VC14或VC11的字样,这是什么含义呢?VC11、VC14是Apache httpd二进制版本的编译类型。另外要注意看WEB服务器是什么,如果是IIS系列,就选择带“Non Thread Safe”的版本,如果是Apache httpd系列,就选择带“Thread Safe”的版本。

我这里用的是Apache服务器,选择php7.0.12下“VC14 x64 Thread Safe (2016-Oct-13 21:05:31)”的压缩包(ZIP)版本。

win10系统phpStudy搭建Apache的PHP开发环境
从PHP官网了解到,php7作为Apache模块安装时仅支持VC6以下的Apache,不能和VC9以上的Apache一起运行。我这里采用了网上推荐的fastcgi形式安装。

MySQL之前已经安装好了,不再赘述。

Aache安装测试

解压httpd-2.4.23-x64-vc14-r3.zip,为了方便个人管理我将解压得到的文件夹Apache24直接放在D盘根目录下(D:)。同时对Apache配置文件httpd.conf中用到路径的配置作相应修改:

Define SRVROOT “D:/Apache24”

ServerRoot “${SRVROOT}”

DocumentRoot “F:/HBuilder-workpace”

<Directory “F:/HBuilder-workpace”>

</Directory>

本人Server目录为”D:/Apache24″工作目录为”F:/HBuilder-workpace”,另外附上旧版本的路径配置:

ServerRoot “D:/Apache24”

Document Root “F:/HBuilder-workpace”

<Diretory “F:/HBuilder-workpace”>

</Diretory>

发现新版本定义了变量SRVROOT,个人感觉非常好用!

以管理员身份启动命令提示符,使用cd D:/Apache24/bin切换到apache的命令目录,在命令行输入httpd.exe即可启动apache服务器

在浏览器输入地址http://localhost,出现It works!即代表apache启动成功。

win10系统phpStudy搭建Apache的PHP开发环境

这种方式并没有将apache安装成为系统服务,命令行退出了服务也就结束了。安装成服务也非常简单,只需要执行httpd.exe -k install,卸载服务执行命令httpd.exe -k uninstall。安装成功后启动bin目录下的ApacheMonitor可以对服务器进行管理。

win10系统phpStudy搭建Apache的PHP开发环境

PHP7安装测试

解压php-7.0.12-Win32-VC14-x64.zip到D:/php/并重命名为php7。将前面准备好的FastCGI模块mod_fcgid-2.3.9-win64-VC14.zip解压得到mod_fcgid.so文件拷贝到Apache的modules文件夹。修改Apache配置文件httpd.conf添加FastCGI配置:

LoadModule fcgid_module modules/mod_fcgid.so

<IfModule fcgid_module>

FcgidInitialEnv PHPRC “D:/php/php7”

FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000

AddType application/x-httpd-php .php

<Files ~ “\.php$”>

AddHandler fcgid-script .php

FcgidWrapper “D:/php/php7/php-cgi.exe” .php

</Files>

</IfModule>

为站点根目录的Options增加ExecCGI,我设置的站点目录为F:/HBuilder-workpace

<Directory “F:/HBuilder-workpace”>

AllowOverride All

Options -Indexes +ExecCGI

</Directory>

找到:

<IfModule dir_module>

DirectoryIndex index.html

</IfModule>

添加index.php改为:

<IfModule dir_module>

DirectoryIndex index.php index.html

</IfModule>

站点默认加载index.php

Apache配置已经完成接着要配置php7,php的配置文件为php.ini,文件夹中并没有这个文件,但提供了php.ini-development和php.ini-production这两个文件作为参考,直接将php.ini-development重命名为php.ini作为配置文件即可。配置文件可以设置php扩展库,需要指定扩展库所在的目录。

找到php.ini中Dynamic Extensions这一块儿关于extension_dir的注释,在后面直接添加extension_dir=”D:/php/php7/ext”。开启相应的库只需要去除前面的分号(注释)即可:

extension=php_curl.dll

extension=php_gd2.dll

extension=php_mbstring.dll

extension=php_mysql.dll

extension=php_xmlrpc.dll

最后设置相应的时区,在Date这一块儿中date.timezone = Asia/Shanghai

配置完成,重启Apache使配置生效。在站点目录(F:/HBuilder-workpace)新建记事本,并输入以下内容:<?php phpinfo() php?>,重命名该记事本为index.php。此时在浏览器中输入:http://localhost/index.php,出现以下界面则配置成功。

win10系统phpStudy搭建Apache的PHP开发环境

遇到的问题及解决:

运行Apache时命令提示符输入httpd.exe报错:

AH00558: httpd.exe: Could not reliably determine the server’s fully qualified domain name, using fe80::440e:6a61:c978:8441. Set the ‘ServerName’ directive globally to suppress this message

通过查阅资料得知需要对ServerName进行配置。解决办法:

1.进入apache的安装目录:D:/Apache24/conf

2.编辑httpd.conf文件,ctrl+F搜索”#ServerName”,找到:

#ServerName www.example.com:80

#ServerName localhost:80

将#ServerName localhost:80前的#号去点即可,#是注释的意思,去掉之后才会起生效。修改后:

#ServerName www.example.com:80

ServerName localhost:80

3.再重新启动apache 。

这时候发现不再报错。虽然AH00558这个错误存在也能正常运行,不过解决掉不再报错心里是非常舒坦的。

修改Apache默认目录后没有访问权限:

在httpd-conf找到以下配置:

<Directory />

AllowOverride none

Require all deny

</Directory>

将Require all deny改为Require all granted即可

<Directory />

AllowOverride none

Require all granted

</Directory>

修改Apache默认端口:

将Listen 80(仅此一处)修改为Listen 8080或者Listen 8088,注意端口不能随意更改为任意数字!


爱乐网(http://aile.so) , 版权所有丨如未注明 , 均为原创丨爱乐网采用BY-NC-SA协议进行授权 , 转载请注明:win10系统phpStudy搭建Apache的PHP开发环境
爱乐网淘券特价商品推荐
喜欢 (1)
[]
分享 (0)
爱乐网
关于作者:
爱乐网,专注互联网最新科技资讯分享,汇集各种软件教程、游戏攻略,为用户收集整理各类破解软件、正版软件、小工具的软件下载网站,永久网址:http://aile.so
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到