1、PHP的安装
1)、环境安装目录:
C:/wamp/|——php|——php7.2|——Apache24|——mysql|——www
2)、下载
linux专用:http://www.php.net/downloads.php
windows专用:http://windows.php.net/download/
官网里Windows的版本有很多。选择哪个版本呢?
- PHP以 FAST-CGI 或 PHP-FPM 方式运行就选择Non-Thread Safe (NTS) 版本
- 通常 Windows 下 Apache + PHP 选TS ,IIS(fast-cgi) + PHP 选NTS,Nginx + PHP 选NTS
- 通常Linux 下 Apache + PHP 选TS,Nginx + PHP 选NTS
本文用的apache+php组合,所以选择ts(Thread Safe)版本。根据操作系统选择x64或者x86。
大多数版本的PHP使用VC9, VC11 or VC14 (Visual Studio 2008, 2012 or 2015分别编译)进行编译的,所以你电脑上需要安装VC运行环境。
电脑需要VC运行环境:
- VC9 x86 :http://www.microsoft.com/en-us/download/details.aspx?id=5582
- VC9 x64 :http://www.microsoft.com/en-us/download/details.aspx?id=15336
- VC11 x86 or x64:http://www.microsoft.com/en-us/download/details.aspx?id=30679
- VC14 x86 or x64:http://www.microsoft.com/en-us/download/details.aspx?id=48145
3)、安装与配置
以phpphp-7.2.21-Win32-VC15-x64.zip为例。
下载后解压到D:\wamp\php7.2目录。
复制一份php.ini-development文件重命名为php.ini。
需要修改以下地方:
更改自定义扩展目录。
找到;extension_dir = "ext"
,更改为
extension_dir = "C:\wamp\php7.2\ext"
提示:与apache搭配使用需要写绝对位置。否则扩展加载不了。
开启curl扩展
再找到:;extension=curl
,去掉分号:extension=curl
。
去掉部分注释:
extension=bz2
extension=curl
extension=fileinfo
extension=gd2
extension=gettext
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql
extension=soap
extension=sockets
extension=sqlite3
extension=tidy
extension=xmlrpc
extension=xsl
设置默认时区
date.timezone=PRC
添加自定义扩展
;[memcache]
extension=php_memcache.dll
;[redis]
extension=php_redis.dll
3)、配置apache支持php7.2
找到apache的配置文件,如C:\amp\Apache24\conf\httpd.conf
,用编辑器打开
a、加载PHP7.2模块(添加内容,注意绝对路径)
LoadModule php7_module C:\wamp\php7.2\php7apache2_4.dll
<IfModule php7_module> PHPIniDir "C:\wamp\php7.2\" AddType application/x-httpd-php .phpAddType application/x-httpd-php-source .phps
</IfModule>
图示如下:
b、修改www目录(该目录即项目所在目录,浏览器可以访问):
DocumentRoot "D:/wamp/www"<Directory "D:/wamp/www">
图示如下:
c、开启虚拟主机:去掉注释符号#
d、配置虚拟主机默认信息
打开C:\Apache24\conf\extra\httpd-vhosts.con
f文件
<VirtualHost _default_:80>
DocumentRoot "D:\www"<Directory "D:\www">Options +Indexes +FollowSymLinks +ExecCGIAllowOverride AllRequire all granted</Directory>
</VirtualHost>
图示如下:
e、配置域名
<VirtualHost *:80>DocumentRoot "D:\www\tp5_test\public"ServerName www.tp5.comServerAlias <Directory "D:\www\tp5_test\public">Options FollowSymLinks ExecCGIAllowOverride AllRequire all granted</Directory>
</VirtualHost>
图示如下:
4)、httpd-vhosts语法错误
配置好虚拟主机后,有时候会出现语法问题,如何准确定位呢?在dos命令行中输入httpd -t
命令,就会执行语法检查,没有问题是就报syntx success:
如果存在问题,就会有提示,根据提示进行排错就可以了。
5)、apache以CGI/FastCGI启动php7.2
注释掉3)a、加载PHP7.2模块
中开启的配置,如下所示:
然后,开启LoadModule fcgid_module modules/mod_fcgid.so
,如下:
接下来,添加配置信息:
<IfModule fcgid_module>FcgidIOTimeout 60FcgidConnectTimeout 30FcgidMaxProcesses 8FcgidOutputBufferSize 64ProcessLifeTime 240FcgidMaxRequestsPerProcess 500FcgidMinProcessesPerClass 0Options ExecCGIAddHandler fcgid-script .php #你项目php安装目录FcgidWrapper "C:/wamp/php7.2/php-cgi.exe" .php
</IfModule>
汇总如下:
最后,写PHP脚本,代码为
<?phpecho phpinfo();
?>
如果出现以下内容代表配置成功: