一、安装apache和php
最近在学习网站搭建。其中有一项内容是在windows操作系统里搭建apache+php环境。几天前根据一本书的上的说明尝试了一下,在win10操作系统里安装这两个软件:apache2.4.41和php7.4.29,安装以后apche能正常启动,但是php没有正常工作。这两个软件需要Microsoft Visual C++运行库的支持。这两个软件根据版本的不同,有的需要Microsoft Visual C++ 2012 运行库的支持,有的需要Microsoft Visual C++ 2015运行库或其他版本的支持。我的电脑里已经安装了Microsoft Visual C++ 2013运行库和Microsoft Visual C++ 2015-2019运行库,由于为了省事,我没有安装Microsoft Visual C++ 2012运行库,这导致没有选择书上php5.6.19版本,从而导致php没有正常工作,不能在游览器里打开php文件,不能打开phpinfo.php文件。当时搜索网上资料,得到的信息是版本不同,导致配置apache配置文件http.conf和php.ini文件不正确,从而导致php不能正常工作。
最近找了一本书,书名是《PHP7从入门到精通》。这边书是2019年出版的,使用了php7.2版本。该书的第二章讲了获得PHP安装资源包,在windows10里安装IIS和PHP,以及在windows10里安装apache和PHP 。根据第二章里内容,按照安装说明,顺利安装了这两个软件,这两个软件能正常工作。
电脑CPU是64位CPU,windows10 是家庭版64位。
下载的apache是:php-7.4.29-Win32-vc15-x64.zip,从www.apache.org推荐的编译后文件下载网站之一 www.apachelounge.com网站上下载。
下载的PHP是:httpd-2.4.41-win64-VC14.zip,从www.php.net网站上下载。
配置与安装一共有好几步。
第一步:下载PHP软件,下载apache软件。
第二步:新建子目录d:\web\apache2.4\,将apache压缩文件解压到d:\web\apache2.4\。新建子目录d:\web\php7.4\,解压缩PHP压缩文件到d:\web\php7.4\子目录下。解压以后两个子目录的内容如下图所示。
第三步:配置apche配置文件 .\conf\httpd.conf。
修改参数SRVROOT,它会在该文档多处用到,DocumentRoot用到了该参数。
Define SRVROOT "d:\web\Apache2.4"
#参数DocumentRoot如下所示。该参数的值可以根据实际情况进行修改。
DocumentRoot "${SRVROOT}/htdocs"
添加如下几行
LoadModule php7_module "d:\web\php7.4\php7apache2_4.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
PHPIniDir "d:\web\php7.4\php.ini"
第四步:将PHP安装子目录的php.ini-development 复制并改名为php.ini 。
第五步:修改PHP配置文件php.ini 。
4.1 修改下方文本里的最后一行。
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
;extension_dir = "./"
; On windows:
;extension_dir = "ext"
将前面的分号去掉,并修改成PHP安装目录。改成以后如下所示。
extension_dir = "d:\web\php7.4\ext"
4.2 去除参数值扩展前的分号。去除以后如下所示。这些行是连续排列的。其中有四个列外,行首保持带分号。
extension=bz2
extension=curl
;extension=ffi
;extension=ftp
extension=fileinfo
extension=gd2
extension=gettext
extension=gmp
extension=intl
extension=imap
extension=ldap
extension=mbstring
extension=exif ; Must be after mbstring as it depends on it
extension=mysqli
extension=oci8_12c ; Use with Oracle Database 12c Instant Client
extension=odbc
extension=openssl
extension=pdo_firebird
extension=pdo_mysql
extension=pdo_oci
extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
;extension=shmop
第六步:安装apache 。
用管理员身份打开command命令行窗口,在命令行窗口里用命令安装apache。在这里也能卸载apache。
输入:d:\
输入:cd web\apache2.4\bin
输入:httpd -k install
会安装apache。要卸载apache,则输入命令:httpd -k uninstall 。
第七步:启动apache 。
一种方法是点击d:\web\apache2.4\bin\ApacheMonitor.exe,运行该程序,该程序会在右下角出现一个图标,左键点击该图标,然后点击start,启动apache 。
另一种方法麻烦一些,一管理员身份打开command命令行窗口,然后输入d:\,接着输入: cd web\apache2.4\bin ,然后输入 httpd -k start ,就能启动apache 。
第八步:测试PHP是否正常安装。
在d:\web\apache2.4\htdocs\子目录里用记事本编辑新文件phpinfo.php,在该文件里加入一行:
<?php phpinfo(); ?>
然后保存该文件。
接着在游览器里输入:localhost/phpinfo.php, 能打开php信息界面说明正常安装了PHP 。
二、安装mqsql
根据书上的说明,到mysql网站下载mysql。mysql有多个版本。有5.7的版本,有8.0.33的版本,还有很多其他版本。从尝试的角度,选择了最新版8.0.33。该zip文件有280多M,下载比较快,大约十分钟下载完成。然后新建子目录D:\web\mysql8.0,接着将它解压缩到新建的子目录,然后用管理员身份打开command命令行窗口,依次输入如下命令:
d:
cd web\mysql8.0\bin
mysqld.exe -install
安装MySQL。一般能顺利安装。如果需要卸载数据库的话,输入如下命令:
mysqld.exe -remove
接下来初始化数据库,输入如下命令:
mysqld.exe --initialize-insecure
初始化数据库。然后启动mysql服务,在该命令行窗口里输入命令:net start mysql 。要停止mysql服务,则在该命令行窗口里输入命令:net stop mysql 。
然后在命令行窗口访问mysql。输入命令:mysql -u root 。就能登录mysql。接着给mysql的root用户设置密码,输入命令:set password for root@localhost = 'xxyyzz' 。其中xxyyzz请修改成你想设置又能记住的密码。设置完以后要退出mysql,输入命令:exit 。然后输入重新用新密码登录MySQL,在命令行窗口输入命令:mysql -u root -p ,接着在新提示行里输入刚设置的密码,就能再次登录mysql。
参考资料
1、《PHP7从入门到精通》,张工厂,刘玉萍等等编著,清华出版社出版,2019年1月第二版。
2、《PHP+MySQL网站开发项目式教程》,传智播客编著,人民邮电出版社,2016年8月第一版。