Win7 x64 配置PHP开发环境手册

  • 聚客宝
  • 2021-08-06 12:30:32

第一部分:php的配置


 (一)版本的选择


(1)IIS下,使用ISAPI方式运行PHP,就使用Thread Safe(线程安全)的版本,使用FastCGI方式运行PHP,就使用None Thread Safe(NTS,非线程安全)的版本。根据使用的操作系统及IIS运行PHP的方式,应该选择None Thread Safe(NTS,非线程安全)的版本


(2)PHP目前的版本,最新的是PHP7.1.7,最近的版本是PHP5.6.31,PHP6没有公开发布的版本。PHP5通用型估计会更强,PHP7比较新的版本,可能部分教材的内容未必适合。可以开始测试PHP5,然后再弄PHP7。


(3)选择php5的最新版本来安装测试。


(二)安装配置


(1)拷贝程序文件到C盘目录下,修改文件夹名为php


(2)将php.ini-development配置文件重命名为php.ini


(3)修改配置php.ini文件


1)打开php.ini配置文件,找到


 On windows:

 extension_dir = "ext"

修改为

On windows:

extension_dir = "C:\php\ext"


一定注意路径的分隔符,斜杠的方向不要搞错。


2)由于默认PHP并不支持自动连接Mysql,需开启相应的扩展库功能,比如php_mysql.dll等,即将


extension=php_curl.dll

extension=php_gd2.dll

extension=php_mbstring.dll

extension=php_mysql.dll

extension=php_pdo_mysql.dll

extension=php_pdo_odbc.dll

extension=php_xmlrpc.dll

extension=php_mysqli.dll 

这些extension之前的分号(;)去除


3)配置PHP的Session功能


a)在使用session功能时,我们必须配置session文件在服务器上的保存目录,否则无法使用session,我们需要在Windows 7上新建一个可读写的目录文件夹,此目录最好独立于WEB主程序目录之外,此处我在D盘根目录上建立了phpsessiontmp目录,


然后在php.ini配置文件中找到

session.save_path = "/tmp"

修改为

session.save_path = "D:/phptmp"


b)session_start前面不能有html的代码,否则报错。可以修改以下设置:

修改 session.auto_start = 0 为 session.auto_start = 1


4)配置PHP的文件上传功能 如何编写PHP文件上传功能?


同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,我们仍然需要在Windows 7上建立一个可读写的目录文件夹,此处我在D盘根目录上建立了phpftp目录,


然后在php.ini配置文件中找到

upload_tmp_dir =

修改为

upload_tmp_dir = "D:/phpftp"


5)修改date.timezone,否则在执行phpinfo时date部分会报错:

Warning: phpinfo() [function.phpinfo]…

我们需要将

date.timezone =

修改为

date.timezone = Asia/Shanghai


备注一个问题:在使用  PHP Version 5.4.40


测试phpinfo()时,出现以下错误:

Warning: strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. 


后来找到解决办法:以下两种方案都可以解决


(1) 在页头使用date_default_timezone_set()设置我的默认时区为北京时间,即就可以了。

(2) 在php.ini中设置date.timezone的值为PRC,设置好以后的为:date.timezone=PRC,同时取消这一行代码的注释,即去掉前面的分号就可以了。


也就是使用 date.timezone =PRC


6)其他项目(可选)

 upload_max_filesize 上传的文件的大小限制值



(三)配置IIS对php的支持



1、首先安装好IIS7 安装的时候 要注意三个地方打得勾:CGI、ISAPI扩展、ISAPI筛选器。

    注:   CGI  会在IIS7+PHP_5.3.5的环境中用到 ; ISAPI扩展和ISAPI筛选器 用在IIS7+PHP_5.2.17


2、添加<模块映射>


处理程序映射-》添加模块映射(在设置右侧菜单项下部)-》 

在弹出的窗口填写:

请求路径:*.php  (注意: 别忘掉“*”星号,这是通配符,否则无法使用)

模块:FastCgiModule(选择) (注意:不要由于疏忽想当然的错误选择CgiModule,导致无法使用)

可执行文件:c:\php\php-cgi.exe


3.  在网站根目录新建一个phpinfo.php的文本文件 内容为:

<?php

 phpinfo();

?>


4.  测试,打开浏览器看结果:localhost/phpinfo.php,如果能看到类似下面的页面就说明你成功了.


5、如果提示"php-cgi.exe - FastCGI 进程意外退出" 的解决办法

安装微软常用运行库合集,不能缺少Microsoft Visual C++ 2012 Redistributable。


操作实录:


(1)在win2008上配置php,始终报错



第二部分:MySql的配置


(一)版本的选择:


在win7x64系统安装mysql的最新版本5.7.19,安装完毕以后报错。


安装mysql5.7.18时,在最后阶段启动mysql服务时,报错:无法定位程序输入点fesetround与动态链接库MSVCR120.dll上。通过检索相关分享文章,发现此版本与win7x64有冲突,可以用较早的版本来安装。


然后下载mysql5.6.37.0,顺利安装成功。


mysql软件下载页面:https://dev.mysql.com/downloads/mysql/


(二)版本的安装配置


(1)在安装开始时,提示安装微软的框架程序 Microsoft. NET Framework 4.0,.NET Framework 4是支持生成和运行下一代应用程序和 XML Web Services 的内部 Windows 组件,很多基于此架构的程序需要它的支持才能够运行。通过360软件管理安装此框架程序。


(2)在安装过程中检查需要的配套的程序,发现有两个是需要手动安装的,一个是,一个是需要安装phython4.5,应该是这些程序如何使用mysql,需要安装相关的软件。类似于接口程序。


(3)后面需要设置管理员的密码,设置一个用户的账号、密码。


(4)安装phpmyadmin软件,负责管理mysql数据。通过360软件管理,可以下载此代码,解压缩后放到网站下面运行即可。


phpmyadmin 下载页面 https://www.phpmyadmin.net/


PhpMyAdmin 管理页面想打开的时候,报错 The mbstring extension is missing. Please check your PHP configuration 。错误提示是扩展mbstring缺失

造成的原因是在php.ini配置时出现错误,检查“extension_dir=”是不是正确,注意斜杠的方向,以及文件夹的正确与否。