资讯专栏INFORMATION COLUMN

[译]Windows 下手动安装 Apache + PHP + MySQL

xavier / 2901人阅读

摘要:如果提示无法绑定到端口的错误,就说明该端口目前已被其它程序占用,要么关闭占用了端口的程序,要么修改文件夹中,目录下的文件后文提到的配置文件均指此文件,将第行字段及第行字段的端口号更改一下,比如改为,然后应该就可以正常启动了。

原文链接:How to manually install Apache, PHP and MySQL on Windows?

另一篇相似文章:Manually Install Apache, PHP, MySQL Server and Composer on Windows,内容较少,但是日期较新,也有少量不同的内容可供参考。

部分设置方法原文中并没有,是在解决其它问题时补充到此文中的。


Apache 软件安装

可以去Apache Lounge下载,一方面要考虑Windows是32位还是64位,另一方面还要考虑所用模块的版本,如果只有32位的,就只好下载32位的Apache了。下载后的文件解压到某个目录即可,如C:Apache24in

软件运行

Win+R弹出运行窗口,输入cmd运行命令行程序,将当前目录改为Apache的目录C:Apache24in,然后运行httpd.exe,一般来说不会输出错误信息。

常见问题

如果错误对话框提示缺少MSVCR110.dll,就需要下载Visual C++ Redistributable for Visual Studio 2012,当然了,这里也需要按照Windows当前版本来选择安装32位还是64位的程序。

如果提示无法绑定到80端口的错误,就说明该端口目前已被其它程序占用,要么关闭占用了80端口的程序,要么修改Apache文件夹中,conf目录下的httpd.conf文件(后文提到Apache的配置文件均指此文件),将第46行Listen字段及第173行ServerName字段的端口号更改一下,比如改为88,然后Apache应该就可以正常启动了。

自己在安装的过程中就遇到了80端口被占用的情况,后来看到80端口被system(pid=4)占用的解决方法这篇文章,按照里面的方法停止了“SQL Server Reporting Services (MSSQLSERVER)”这个服务,80端口就被释放了,终于不用每次输入网址的时候都要在localhost后面加上:88了。

如果有Could not reliably determine the server"s fully qualified domain name之类的错误提示,可以先忽略。

接下来,在浏览器中访问地址http://localhost,如果页面中显示It works!,则说明Apache已正常启动。按下Ctrl+C,退出Apache即可。

对于前面忽略过的fully qualified domain name这个错误提示,修改配置文件中第173行ServerName字段的主机名即可,可以改为指定的主机名,或者localhost

如果只允许从本地访问,Apache 2.4版本对相关命令做了更改,用一句Require local就可以了。

最后,如果希望系统启动后自动运行Apache服务(即使无用户登陆),那么需要在以管理员权限运行的命令控制台中输入httpd.exe -k install,这样就能让其以服务的形式随操作系统启动了。

限制权限

如果希望能够仅从本机访问Apache,在配置文件中查找字段块,在该字段块的最后应该有一行Require all granted,表示对于该服务器的访问无限制,将这一行改为Require local,就只能从本机访问Apache了。

还有一个安全性更高的方法,就是将Apache仅绑定在环回接口(loopback interface)上,修改第46行的Listen字段如下:

Listen 127.0.0.1:80
Listen [::1]:80

第一行不言自明,第二行是第一行的IPV6版本,中括号用于将地址和端口号分隔开。

保存配置文件,如果Apache服务已经在运行中,就重启服务,这样上面的设置就能生效了。


PHP 软件安装

建议安装前先阅读一遍official PHP documentation。

在官方网站下载最新版的PHP-PHP for Windows download page,选择thread-safe版本,并且要与本机操作系统版本相匹配。

在硬盘根目录新建一个PHP文件夹,并将下载的PHP解压到该目录中,解压后该目录中应该有一个ext文件夹,说明安装正常。

根据自己的需求,将根目录中的php.ini-production或者php.ini-development文件重命名为php.ini

编辑php.ini(下文均以配置文件代表此文件),将extension_dir = "ext"字段改为
extension_dir = "d:CodeProjectsWAMPphpext",注意斜杠的方向。

编辑Apache的配置文件httpd.conf,在LoadModule字段块的最后,加上下面一段代码:

LoadModule php5_module C:/PHP/php5apache2_4.dll


    DirectoryIndex index.html index.php
    AddHandler application/x-httpd-php .php
    PHPIniDir "C:/PHP"

然后用上面提到的命令行的方式运行Apache,如果未提示错误,则说明上面的PHP配置生效了。

如果想测试PHP是否已正常安装,可新建一个info.php文件,里面只写一行内容,然后在浏览器中访问http://localhost/info.php,如果能显示一个很长的关于系统及PHP信息的页面,则说明安装正常。

接下来中止命令行窗口中的Apache进程,启动Apache服务即可,因为后续的内容不再需要和Apache交互了。

Composer(可选)

Composer是PHP的包管理器,需要先开启了PHP的OpenSSL插件才能使用Composer,编辑PHP配置文件,查找php_openssl.dll字符串,将其所在行取消注释。

在Download Composer页面中下载Composer,按照提示安装,记得选择PHP目录及主程序。

安装完成后,新建命令行窗口(因为需要读取Composer安装程序在环境变量PATH新增的值),通过composer即可调用该程序了。

PHP MySQL 插件

如果需要在PHP中访问MySQL数据库,需要在PHP配置文件中将php_mysqliphp_pdo_mysql这两个字段所在的行取消注释,然后就可以通过mysqli或者PDO来访问MySQL的数据库了。


MySQL

在官网的下载页面MySQL Installer download page下载MySQL的在线安装程序,该程序会自动安装与当前操作系统版本相匹配的MySQL。

如果是用于开发,则建议选择Developer defalut,会安装原生的GUI客户端MySQL Workbench,这样就不用安装其它基于Web的工具了,比如PHPMyAdmin。

安装完成后,需要做一些基本的设置,如果不需要从其它机器上访问本机的数据库,那么建议禁用Open firewall port for network access这个选项。

然后就是设置root用户的密码,如果只是用于开发,并且防火墙禁用了外部连接,那么其实没必要设置强密码,选一个自己容易记住的密码就行。

最后,还可以禁用MySQL Notifier的开机自启动。

好了,一个功能完善的WAMP服务就配置完成了,并且即使没有用户登陆至系统的情况下也可以使用,怎么样,很不错吧?

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21636.html

相关文章

  • []Windows 手动安装 Apache + PHP + MySQL

    摘要:如果提示无法绑定到端口的错误,就说明该端口目前已被其它程序占用,要么关闭占用了端口的程序,要么修改文件夹中,目录下的文件后文提到的配置文件均指此文件,将第行字段及第行字段的端口号更改一下,比如改为,然后应该就可以正常启动了。 原文链接:How to manually install Apache, PHP and MySQL on Windows? 另一篇相似文章:Manually ...

    jayce 评论0 收藏0
  • WindowsApache2.2+PHP5.3.28+MySQL5.5安装配置笔记

    摘要:上一行的命令表示先检查禁止访问的那些设置,其余没有禁止的就全部允许访问。而这一行全部允许访问,这样就能访问目录下的所有文件了。 刚学了几天的前端,因为工作需要,又要同时学习后端开发了。OK,下面就进入正题。 参考文章 1. Windows 下 Apache HTTP Server 安装、配置以及与 Tomcat 的整合(附图) 2. Create a local PHP MySQL ...

    you_De 评论0 收藏0
  • 个人文章分类整理

    摘要:春节闲来无事,看看自己在上写的文章,想不到已经篇了,各方面的都有,那就分类整理一下吧,也方便自己和别人查看。 春节闲来无事,看看自己在SegmentFault上写的文章,想不到已经20篇了,各方面的都有,那就分类整理一下吧,也方便自己和别人查看。 CSS CSS Background-Size 属性小记 [译]关于垂直居中 Vertical Align 的探讨 [译]CSS 居中(...

    OnlyLing 评论0 收藏0

发表评论

0条评论

xavier

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<