最近在学习网站搭建。其中有一项内容是在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 。
参考资料
1、《PHP7从入门到精通》,张工厂,刘玉萍等等编著,清华出版社出版,2019年1月第二版。
2、《PHP+MySQL网站开发项目式教程》,传智播客编著,人民邮电出版社,2016年8月第一版。