一、Windows下安装PHP
(一)安装
下载完成后会得到一个php-7.2.11-Win32-VC15-x64.zip
的文件。将它解压到php-7.2.11
文件夹,然后将php-7.2.11
文件夹移动到C盘
的Program Files
目录下。
现在进入php
的目录,把php.ini-development
复制一个副本,然后将副本重命名为php.ini
,然后打开php.ini
开始配置。
首先我们搜索找到; On windows:
这行,将
; extension_dir = "ext"
改为:
extension_dir = "C:\Program Files\php-7.2.11\ext"
(二)为php添加环境变量
下面以WIN7
为例:
右键点击计算机
->属性
->高级系统设置
->高级
,找到并打开环境变量
。
找到变量Path
点击编辑
按钮,在原来的后边加上;C:\Program Files\php-7.2.11
,再点击确定
按钮。
重新打开CMD
窗口(快捷键为win+R),输入php -v
,如果能够查看到php的版本信息,说明环境变量已经设置成功了。
二、配置Apache
LoadModule php7_module "C:\Program Files\php-7.2.11\php7apache2_4.dll"
PHPIniDir "C:\Program Files\php-7.2.11"
<IfModule php7_module>
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
AddType application/pdf .pdf
</IfModule>
LoadModule
这行代码意思就是让Apache
服务器引入PHP
模块。PHPIniDir
这行代码是告诉Apache服务器php.ini
的目录,从而使服务器读取php的配置。AddType
是告诉Apache识别php文件的后缀,从而对这些后缀的应用进行解析。
下面我们接着设置Apache
的默认页面。搜索IfModule dir_module
,你会看到如下内容:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
并将它修改如下:
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm
</IfModule>
现在就已经配置好了PHP,下面用Notepad++
新建一个PHP文件,内容如下:
<?php
phpinfo();
?>
三、关于PHP的各类扩展
在php.ini
中有很多如下代码:
;extension=bz2
;extension=curl
这些就是PHP的扩展功能。可以看到,在默认的初始安装时,很多扩展功能是禁用状态,但是在实际开发中,我们会经常遇到一些问题,特别是使用composer
命令时,会提示一些错误,比方说:
install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for gregwar/captcha v1.1.7 -> satisfiable by gregwar/
captcha[v1.1.7].
- gregwar/captcha v1.1.7 requires ext-gd * -> the requested PHP extension gd
is missing from your system.
Problem 2
- Installation request for mews/captcha 2.2.2 -> satisfiable by mews/captcha
.....
仔细看上面的输出,是不是提到了requires ext-gd
,这就是告诉我们,PHP的这个gd
扩展没有打开,导致运行错误。所以遇到类似问题的时候,我们就需要修改PHP的配置文件,来打开相应的扩展功能。扩展非常之多,在此就不一一举例了,大家在遇到问题时再去找答案。
四、常见问题
问题1. 解压之后找不到php7apache2_4.dll文件
解答:这是由于下载了Non Thread Safe
版的缘故,请重新下载Thread Safe
版就可以了。