这学期开了一门称为软件工程的课,老师给我们布置了一个大作业。我们一个小组共有四个人,决定做一个校园资料分享平台。现在工作快要结束了,我决定将整个项目移植到 Linux 上,从创建虚拟机 -> 环境搭建 ->php 扩展等等,将这个过程写成连载的博客,供自己以后查阅,也让新手们少走一些弯路。
环境搭建
- 第一步,下载一个 linux 镜像,我选择了 centos7 的镜像,这个在百度里面一搜就能搜到下载地址,一般选择 DVD 镜像;
- 第二步,在 VMware workstation 上创建一个 Linux 的虚拟机。之所以选择 VMware 而不选择 virtual box,是因为我通过血和泪的实践,觉得 VMware 更好用(ps:当初我用 virtual box 安 centos7 后花了好几天调分辨率都没有成功,centos7 只支持 4:3 的分辨率,让我这个 19201080 的显示器看起来很难受,当然这个问题是可以解决的,不过用 VMware 就方便多了,其自带的 tools 会让我们的虚拟机能够使用 19201080 的分辨率)。由于虚拟机创建过程不是本次开发的重点,所以不会的朋友可以百度如何在 VMware 上安装 Centos7。
- 第三步,在虚拟机创建好之后,我们需要检测网络的连接:主机与虚拟机之间可以互 ping,而且虚拟机可以访问外网,因为我们需要安装运行环境,如何让虚拟机连接到网络以及如何让主机与虚拟机之间可以互 ping,百度以下你就知道了。
- 第四步,我们选择使用 Apache+php+mysql 进行开发,但是我们租了一台服务器,所以开发的时候使用服务器上的数据库,不需要在本地下载 mysql。所以我们只需要安装 apache 和 php 即可,可以使用 yum 源直接安装,安装教程百度即可。
-
最后,当所有的环境都建好之后,我们需要知道如下几个文件:
/etc/php.ini:这个文件是 php 的配置文件,php 的扩展配置都在这个文件中进行配置;/usr/lib64/php/modules:这是 php 扩展文件的保存路径,这个路径可以使用 phpinfo() 看到,并不是每个人都在这个目录下;/etc/httpd/conf/httpd.conf:这是 apache 的配置文件;/var/log/httpd/error_log:这是 apache 的错误日志。
环境测试
- 测试 apache。首先开启 apache 服务(终端输入 service httpd start)。centos 虚拟机中自带一个 Firefox 可以使用这个浏览器,但是不建议,我在虚拟机中用这个浏览器感觉很难受。建议使用主机上的浏览器来访问虚拟机中的 apache 服务,这要求主机和虚拟机之间能够互通(能互 ping),还要求 linux 虚拟机的防火墙开启 80 端口。如果这两样都满足了,还不能在主机的浏览器上访问虚拟机的 apache,那么很有可能是 SELinux 这个东西在捣乱,反正虚拟机上也没有什么东西需要保护,可以直接把 SELinux 关闭。然后进行访问,在主机浏览器中输入虚拟机的 ip 地址,将会看到 apache 的测试页面。
- 测试 php。apache 默认配置的 web 站点在 /var/www/html 目录下,在这个目录中编写一个测试代码 index.php,写上几行测试代码,然后在主机浏览器中访问 index.php,看能不能输出正确的结果。
配置 php 基础环境
-
此处的配置环境并不是下载 php 也不是下载 php 扩展,而是修改 httpd.conf 来完成 php 的一些基础配置。首先我们需要将 php 代码和 html 代码都作为 php 代码进行解析,也就是说能在 html 文件中解析 php 代码,这个需要在 <ifmodule mine_module> 中加入两行代码:
AddType application/x-httpd-php .html .htm .php AddType application/x-httpd-php-source .phps
- 测试在 html 文件中编写 php 代码能否被解析。
总结
- 由于有一些知识并不是本项目的重点,所以我一直在说“自己百度”,其实有些东西有些挫折很多人都遇到过并且都记录了下载,只要自己勤于查找,就会发现自己犯的错误,能够借助前人已经为铺好的路来解决。
- 这一篇博客主要讲的是如何搭建环境,别看我只用了短短几句话描述,实际上如果对这些过程不熟练可能会花费你几天时间才能完成。
- 下一篇博客开始引入已经写好的代码,配置所需要的 php 扩展,不会将每一句代码都拿出来解释,实际上这些东西只要会编程就都能写出来,不一样的是从 Windows 平台来到 linux 平台后,应该怎么解决一些问题。