本节书摘来自异步社区出版社《PHP和MySQL Web开发从新手到高手(第5版)》一书中的第1章,第1.2节,作者: 【澳】Kevin Yank,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.2 在Windows下安装
PHP和MySQL Web开发从新手到高手(第5版)
在本节中,我们将介绍如何开始在Windows XP、Windows Vista或Windows 7操作平台上运行一个安装了PHP和MySQL的Web服务器。如果你使用的不是Windows操作系统,那么就可以略过本节。
获取Web服务器并在Windows上运行它的最简单方式,是使用叫作XAMPP for Windows的一个免费软件包。这个安装包程序内置了Apache、PHP、MySQL。让我们来看一下它的安装过程。
在本书之前的版本中,我建议你分别安装Apache、PHP和MySQL,并且对于每个软件都使用官方的安装包。我认为,对于初学者来说,这是很好的做法,因为这让你能够很好地体会这些软件是如何配合工作的。
遗憾的是,这意味着很多读者最初的几个小时要花在“PHP落地”上,并且按照详细的安装说明,在一个漫长的过程中跌跌撞撞地前进。更糟糕的是,有时候某一个软件包的一些细小的变化,就意味着这些说明的细节部分变得过时了。
如今,我坚信学习PHP和MySQL的最好的方式是直接开始使用它们。安装的过程越快速越省力就越好。这就是为什么在本书的这个版本中我要求你使用XAMPP。此外,既然有很多的机会去了解这些软件,那又何必给计算机安装一堆独立且不相关、而又很难删除的软件呢?
尽管如此,如果你是喜欢坚持自己动手的人,或者你是一位技术高手,又或者如果你只是想学完本书并看看专业人士是如何做的,那么,我在附录A中给出了每一个单独软件包的详细安装说明。如果你是上述的某一类读者,建议你按照附录A而不是本节的介绍去做。
1.从Apache Friends站点下载XAMPP for Windows的最新版本(需要向下滚动以找到下载链接)1。找到推荐的安装版本(在编写本书的时候,XAMPP for Windows 1.7.7的大小为81MB),然后,双击该文件以启动安装程序,如图1.1所示。
根据你所使用的Windows版本和具体的系统配置,XAMPP安装程序可能会显示如图1.2所示的警告信息。
尽管这条消息乍看上去有点令人担心,但是请放心,这没什么大不了的。它只是建议你不要像安装大多数的程序那样,把XAMPP安装到C:Program Files,因为那样将会导致文件许可问题的产生。程序默认的安装位置是C:xampp。
2.安装程序将会为你提示指定安装XAMPP的位置。默认的位置是c:xampp,如图1.3所示。这是一个理想的选择,但如果你很想将它安装到其他的地方(例如,另一个驱动器上),那么继续并指定你喜欢的位置。只要避免安装到通常的C:Program Files(或类似的)位置就可以了,因为Windows会限制访问该文件夹下的文件,而XAMPP需要得到访问许可。
3.安装程序将提示你设置一些选项。默认的选择如图1.4所示,这可能也是你目前想要的选项。如果你想保持桌面整洁,就不要选中“Create a XAMPP desktop icon”复选框。如果你想要Apache和MySQL服务器一直运行(而不是在你进行开发的时候还必须手动启动它们),可以选中“Install Apache as service”和“Install MySQL as service”复选框。在后续的介绍中,我们将假设你没有选中这两个复选框。
4.一旦完成了安装,安装程序将会提示你启动XAMPP Control Panel。单击No,因为我们要向你展示如何以常规的方式启动它。一旦完成了安装,安装程序就会退出。
5.此时,我建议你关闭并重新启动计算机(即便XAMPP安装程序并不要求这么做)。在我的测试中,如果没有重启系统,下面的步骤将会失效,并且XAMPP支持论坛上的帖子也支持重启计算机的做法2。
一旦安装完成并且系统重启后,就可以启动XAMPP Control Panel了。你可以在Start menu下找到All Programs > Apache Friends > XAMPP > XAMPP Control Panel。你的Windows系统工具栏上将会出现一个橘黄色的图标(尽管默认情况下它会过几秒之后才出现),并且会打开如图1.5所示的XAMPP Control Panel Application。
单击Modules列表下Apache和MySql后面的Start按钮,将会启动XAMPP内建的Apache和MySQL服务器。一个绿色的状态指示标志将会出现在列表中的每个服务器的后面。
根据你的Windows的版本和配置,你可能会接收到针对每个服务器的Windows防火墙警告,如图1.6所示。当服务器试图开始监听来自外部的浏览器请求的时候,会发生这种情况。
如果你想要确保只有自己才能够访问开发服务器,那么单击Cancel按钮。你仍然可以使用自己的计算机上运行的浏览器来连接到Web服务器。然而,在某些情况下,从网络中的另外一台计算机访问服务器可能会更方便(例如,为了展示你所构建的令人惊讶的Web站点,通过同事的计算机来访问它)。基于这一目的,我建议你选择“Private networks, such as my home or work network”选项,并且单击“Allow access”按钮。
如果你的Apache或MySQL服务器无法启动,原因可能有很多种。最常见的原因是,你的计算机上已经有一个Web服务器(它可能是Apache或者是Microsoft Internet Information Services的另一个副本),或MySQL服务器正在运行。
检查一下你的Start菜单以及Windows Control Panel的Uninstall a program部分,看看是否能够找到Apache HTTP Server或MySQL的另一个安装版本,以便关闭或卸载它。还有另一个和XAMPP类似的程序,叫作WampServer,如果你安装了它,也将会导致这样的问题产生。
如果你认为自己的系统上可能有Microsoft的Web服务器(Internet Information Services,IIS)在运行,可以尝试按照Microsoft的说明来关闭它。
还是不行?XAMPP for Windows FAQ 中的建议可能会有所帮助,如果你在运行Skype的话(因为它可能在某些网络配置下干扰到Web服务器),这些建议特别有用。
一旦两个服务器都能够顺利地运行,单击Apache后面的“Admin…”按钮。启动Web浏览器并加载http://localhost/xampp/,将会出现如图1.7所示的XAMPP for Windows管理页面。
当你看到这个页面时,意味着自己的Web服务器已经启动并运行了,因为你看到的这个页面就是从服务器加载的。注意,浏览器的地址栏中的URL是以http://localhost/开头的(一些现代的浏览器可能会隐藏协议“http://”),localhost是一个特殊的主机名,它总是指向你自己的计算机。
在本书中,当你想要从自己的Web服务器载入一个Web页面的时候,使用以http://localhost/开头的URL。
当你完成了XAMPP Control Panel的操作,单击Exit按钮来关闭它。此外,你也可以直接关闭窗口,这样做将会在Window系统任务栏上保留XAMPP图标(如果你已经将它配置为保留可见的话)。当你需要的时候,单击该图标将会立即再次启动XAMPP Control Panel。
当你退出XAMPP Control Panel的时候,Apache和MySQL服务器还将继续在你的系统上运行。如果你完成了一天的编程,我建议你针对每一个服务器单击Stop按钮来关闭它们,然后再退出XAMPP Control Panel。运行不必要的服务器,将会导致你晚上玩Facebook的游戏都会变慢,这是毫无意义的事情。
在XAMPP中设置MySQL root密码
一旦为自己的Windows计算机安装了合适的服务器,就需要在XAMPP中为MySQL设置一个root密码。
MySQL只允许授权的用户浏览和操作存储在其数据库中的信息,因此,你需要告知MySQL,谁是经过授权的用户而谁不是。当初次安装MySQL的时候,它配置了一个名为“root”的用户,该用户能够访问MySQL并且执行大多数的任务,而不需要输入密码。因此,你的首要任务应该是为该root用户分配一个密码,以使未经授权的用户无法操作你的数据库。
意识到能够从同一网络中的任何计算机访问MySQL(就像一个Web服务器一样)是很重要的。如果你在连接到互联网上的一台计算机上工作,那么,根据你所采取的安全性措施,世界上的任何人都可能连接到你的MySQL服务器。那么,显然选择一个难以猜测到的密码是很有必要的。
XAMPP使我们为新的服务器解决这一问题以及其他的安全配置问题变得容易。当Apache和MySQL服务器运行的时候,在Web浏览器中打开这一地址:http://localhost/security/。或者,你可以单击XAMPP管理页面的菜单中的Security链接。
该页面将会列出XAMPP可以识别的关于你的当前服务器配置的所有安全问题。其中,你应该会看到“The MySQL admin user root has NO password”。向下滚动表格,并且单击给出的链接以修正所列出的问题。
单击该链接所产生的表单的最前面的部分,将会提示你设置一个MySQL root密码。继续并且设置一个你能够记住的密码。将PhpMyAdmin authentification选项设置为cookie,如果你认为自己可能会忘记密码的话,使用该选项可以将密码保存到一个文件中(但是请注意,使用你的计算机的某个人,也可能找到你保存密码的位置)。单击Password changing按钮以更改密码,然后,使用XAMPP Control Panel停止并重新启动MySQL服务器。
注意,不要忘了这个密码。如果忘记的话,再修改会很麻烦。不过,我将在第10章中介绍如何做到这点。可以在下面记下你的MySQL root密码,以备不时之需:
My MySQL Root Password (Windows)**
root user password:
XAMPP目录保护
XAMPP的安全页面还会警告你,网络上的任何人都能够访问Web页面。尽管从技术上讲确实如此,但如果同事或家人访问正在开发的Web站点时遇到错误,我一点也不担心。此外,大多数家庭或办公室的网络配置都会阻止网络以外的人访问你的计算机上运行的Web服务器。
这就是说,如果你想要按照XAMPP的建议去设置浏览你的Web服务器上的页面所必须的用户名和密码的话,那就设置吧。