1、Windows 下 PHP5.3.5 开发环境的配置(包括 phpadmin 数据库的配置和搭建)作者:霡霂(盟军特战队)PHPer YY 新手群:2076727(注:YY 多玩的语音聊天工具 YY,而不是腾讯的 QQ 群)在 windows 操作系统下搭建 PHP 与安装其他的一些软件工具不同。因为 PHP 是从 Linux 操作系统移植过来的一种语言,不仅在开发环境上尽量保留 Linux 的特点,(Apache 是 Linux 下的 Web 服务器,地位就像 Windows 下的 IIS。Mysql是 Linux 系统中捆绑的数据库,且三者都是开源免费,发展迅速,功能越来越强大的项目。是编
2、程建站,项目开发,谈婚论嫁,居家旅行的必备良药脑袋抽筋了一下我们言归正传)在安装上也保留了 linux 上的印记。除了正常的安装外,还要在各自的配置文件(.ini、.conf)中进行专门的设置。而,本文就是为了解决 PHP 新手入门的头疼问题,Windows 平台上,PHP 开发与运行环境的配置与运行,废话少说,现在开始我们的 PHP 之旅第一步:下载安装的文件 1. MySQL:版本 mysql-5.1.56-win32.msi; 2. Apache: 版本 httpd-2.2.17-win32-x86-no_ssl.msi;3. PHP5.3.5 版本 php-5.3.5-Win32-VC
3、6-x86Zip4. phpMyadmin 版本 phpMyAdmin-3.4.0-beta3-all-languages.7z5. PHP 脚本集成开发环境 zendstudio8.0注意:一定要下载 php-5.3.5-Win32-VC6-x86 版本的,不要下载 php-5.3.5-nts-Win32-VC6-x86 版本,更不要下载 VC9 版本的,因为 VC9 是专门为 IIS 定制的,VC6 是为了其他 WEB 服务软件提供的,如 Apache。Apache 服务器又有openssl 和 no_ssl 之分,openssl 表示带有 openssl 模块,利用 openssl 可给
4、Apache 配置 SSL 安全链接。关于更多 PHP、Mysql 安装版本的问题,可以本文后的附录如果使用的是 PHP5.3.3 可以查看另一篇配置教程http:/ 1. 在要安装的磁盘建一个文件夹(笔者的做法是在 D 盘的根目录下创建一个php 文件夹 D:php)。 2. 安装 Apache 服务器,安装完成后的目录结果是:D:phpApache。(就是把Apache 服务器安装在 D:phpApache 文件夹里,这个安装目录是可以自定义的,是 Apache 的安装目录。) 3. 把下载的 php-5.3.5-Win32-VC6-x86 解压的 D:php 目录中,可以把文件夹的名字改
5、短,结果 D:phpphp5 4. 安装 MySql 数据库,它的安装和一般情况一样。笔者把他安装在(D:phpMySQL)和 php 同目录。 其实本文只涉及相关的配置和知识介绍,关于安装 Apache 服务器以及 Mysql 数据库的图文教程网络上有很多,笔者在这里一笔带过。第三步:配置 PHP5.3.51. 配置 PHP5.3.5,打开 php 安装目录(笔者是 D:phpphp5)可以看到目录下有两个这样的文件 php.ini- development 和 php.ini-production,第一个是开发使用的配置文件,第二个是标准的生产环境的配置,选择前者借即可。2. 选择 php
6、.ini-development 复制一份到同目录下,并改名为 php.ini 使用文本工具打开。查找12; On windows:; extension_dir = “ext“可以看到两个; extension_dir = “ext“,选择 On windows:下面的那个并去掉前面的分号;,修改为12; On windows:extension_dir = “d:/php/php5/ext“表示指定 PHP 扩展包的具体目录,以便调用相应的 DLL 文件。注释:网络上有一些配置教程要求把 php.ini 复制到系统盘的 windows 文件夹下,笔者经过 Windows7 下的测试,没有必
7、要,如果读者仍有疑虑,也可将php,ini 放在 windows 文件夹下,呵呵。3.php 默认许多功能和扩展是关闭的,默认 PHP 并不支持自动连接 Mysql,需开启相应的扩展库功能。查找12;extension=php_curl.dll;extension=php_gd2.dll34567;extension=php_mbstring.dll;extension=php_mysql.dll;extension=php_pdo_mysql.dll;extension=php_pdo_odbc.dll;extension=php_xmlrpc.dll把 extension 前面的分号去掉。
8、注释:网络上有些配置的教程是把 php/ext 内的这几个 DLL 文件拷贝到系统盘的 system32 文件夹下,原理都是一样的,这里是在 php.ini 文件中开启扩展程序,PHP5 能够通过 php.ini 配置文件的配置自动识别 DLL 程序扩展,不用多此一举。查找 short_open_tag = Off 把它修改成 short_open_tag = On,让其支持短标签。 注释:如果希望加载其他模块,方法相同,去掉前面的分号。关于 PHP 的扩展库问题,我们待会还要讨论。在更新配置时,最好备份 php.ini 文件,避免不必要的麻烦。4.配置 PHP 的 Session 功能(对于
9、 PHPer 新手来说,这一步,以及开启文件上传扩展,调整时差问题,一开始可能不太常用,在以后的 PHP 学习中,在学到 Session 功能的应用时,相关资料上会有如何配置的介绍,以后霡霂也会更新和 PHP 配置高级应用的文章。)在使用 session 功能时,我们必须配置 session 文件在服务器上的保存目录,否则无法使用 session,我们需要在 Windows 7 上新建一个可读写的目录文件夹,此目录最好独立于 WEB 主程序目录之外,此处我在 D 盘根目录上建立了phpsessiontmp 目录,然后在 php.ini 配置文件中找到1 ;session.save_path =
10、 “/tmp“改为1 session.save_path = “D:/phpsessiontmp“这一步的配置对于 phpadmin 的配置是很重要的,phpadmin 的设置有一个使用cookie 登录,如果没有设置就会出错。大家可以试试。对于初级的 PHPer 来说,建立 session 文件夹只是为了理解 session 的使用,就是保存网站浏览者和用户的登录信息,但是对于大型的网站,由于浏览量和用户的数目庞大,要从众多的用户 session 中检索出某位用户的信息就变得让人难以忍受了,这时候就会使用数据库保存和读取 session 了,在 session 和数据库的知识里,大家就能学习
11、到相关内容,在这只是为了大家能够看的明白。5. 复制 php5ts.dll 文件到 WINDOWS/system32 目录下。这是 PHP5 配置中简单而重要的一步,通过 php5ts.dl 系统就能都识别 PHP5 的脚本执行程序,并能够正确的解释执行 PHP 脚本。注释:只有 php-5.3.5-Win32-VC6-x86 版本中才有 php5ts.dll ,php-5.3.5-nts-Win32-VC6-x86 版本是没有的。 第四步:配置 Apache 1. 打开 Apache 目录下 conf 目录中的 httpd.conf 文件,查找#LoadModule,在其末尾处大概是 128
12、 行的地方(提示,如果读者找不到 128 在什么位置,也没什么关系,确切的位置是#LoadModule vhost_alias_module modules/mod_vhost_alias.so 下,也可以下载一个 Notepad+,作为文本编辑软件,也可以用来编辑 PHP 脚本)添加: LoadModule php5_module “D:/php/php5/php5apache2_2.dll“ PHPIniDir “D:/php/php5“ AddType application/x-httpd-php .php AddType application/x-httpd-php .htm Ad
13、dType application/x-httpd-php .html 目录结构根据用户自己目录配置,在更改配置时最好先备份原文件。2. 修改具体的 index 文件先后顺序,由于配置了 PHP 功能,当然需要index.php 优先执行查找 DirectoryIndex index.html 将其修改成1 DirectoryIndex index.php default.php index.html index.htm default.html default.htm配置这里是指在打开页面默认直接打开的页面,就好像我们登陆网站的主页,一般打开的都是名为 index.php 或者 index.
14、html 的页面。3. 我们知道 Apache 默认服务器执行 WEB 主程序的目录为 Apache2.2/htdocs ,所以当你的 WEB 主程序目录变更时,我们需要修改相应的 Apache 配置,查找DocumentRoot 将其修改为指向你需要放置 web 文件的文件夹上(笔者在 D:/php目录中创建了一个 www 文件夹)所以 DocumentRoot 就是 DocumentRoot “D:/php/www“,读者可以根据自己配置来修改。在安装 Mysql 时,也会出现提示,让读者选择数据库文件的存放位置,为了防止开发网站程序后期,上传网站程序时(一般自己建站都是租用虚拟主机)出现
15、不必要的麻烦,建议把数据库表文件放在与 PHP 网页源码同一级的文件夹中,例如 D:/php/SQldata。4. 查找)第五步:测试 php+Apache+MySql 是否配置成功 1. 打开 MySql 在 MySql 中创建一个新数据库和表。(笔者是 userInfo 数据库和 users 表就有 id 和 name 两个字段) 测试吗?简单就好,呵呵! 2. 在上面创建的 www 文件夹中创建一个 index.php 文件使用 EditPlus(又一个文本编辑器)或者其他文本工具打开。 3. 写入:代码如下:“; echo $dataname.“; mysql_close(); ? 注
16、释:关于测试的代码还有很多,但是都大同小异笔者在这里再介绍两个源码,分别这是 PHP 配置和 Mysql 数据库是否关联成功源码 1:PHP5 配置相关信息源码 2:Mysql 数据库是否关联成功4.启动 Apache 服务器,在浏览器输入 http:/localhost/回车。 如果进入相关页面,可以看到 PHP 的配置信息 Mysql 链接成功的页面:表示我们大功告成了!祝贺祝贺!注释:PHP 对中文支持不好,文件名和文件夹名最好用字母或英文。第六步配置 phpMyadminPhpadmin 是使用脚本编写的数据库图形化管理软件,应用简单普遍。phpMyAdmin 默认下载后,需要进行安装
17、配置后,才可以正常使用。安装配置phpMyAdmin 软件,只要把握几个要点,进行起来就很简单了。下面,就是我常用的配置方法。前提条件:网站根目录:D:wwwhostPHP 根目录:D:wwwphp5MySQL 根目录:D:wwwmysqlphpMyAdmin 根目录:D:wwwhostphpmyadmin1. 首先解压 phpMyAdmin-3.4.0-beta3-all-languages.7z,然后重命名为phpmyadmin,将其复制到 php 脚本的 WEB 主程序目录下,我复制到 D:www 目录下。2. 从“D:wwwhostphpmyadminlibraries”目录下找到“c
18、onfig.default.php” 。使用 zendstudio8.0打开(如果你安装了这个 PHP 安装环境的话,zendstudio8.0是大家公认的最好的 PHP 脚本的集成开发工具) ,查找以下信息,并做出相应更改。$cfgPmaAbsoluteUri = ; 改为 $cfgPmaAbsoluteUri = http:/localhost;说明:定义 PHPMYADMIN 位置,本地测试填写:localhost;服务器测试填写:ip or domain,即你的网站的域名。$cfgServers$ihost = ; 改为 $cfgServers$ihost = localhost;(说
19、明:默认无需修改)$cfgServers$iuser = ; 改为 $cfgServers$iuser = root;说明:默认网站数据库用户名$cfgServers$ipassword = ;改为 $cfgServers$ipassword = *;说明:输入你数据库的密码$cfgblowfish_secret = ; 改为 $cfgblowfish_secret = cookie;说明:本地无需设置,网络需设成 cookie$cfgServers$iauth_type = config;改为 $cfgServers$iauth_type = cookie;说明:网络须启用 cookie 来
20、防止恶意注入$cfgblowfish_secret = ; 改为 $cfgblowfish_secret = cookie;3.网络上相关教程,大多会让大家把从“D:wwwhostphpmyadminlibraries”下拷贝一份“config.default.php”到“D:wwwhostphpmyadmin”下,重命名为“config.inc.php”,那些事phpMyadmin3以前的的版本的配置方法,在 phpMyadmin3发布以后,就不需要这样做了,只要修改 libraries/config.default.php 配置文件的配置项即可。这是因为 phpmyadmin 现在的版本默
21、认首先加载 libraries/config.default.php配置文件的内容,如果有 config.inc.php,就会在 config.inc.php 配置文件中找到相同的变量并覆盖,所以如果没有特别的设定,你不需要再去创建一个config.inc.php,只要在 libraries/config.default.php 进行相关的配置即可。4.关于短语密码的问题。现在 phpMyadmin 版本可以不用设置短语密码了。几点声明:1、关于 PHP 扩展库的问题PHP5一直在不断的升级更新,总体上围绕着性能、安全与新特新,不断为开发者提供新的动力。PHP 提供了一些扩展库使 PHP 如虎
22、添翼,更加灵活方便,如网上社区、BBS 论坛等,如果没有扩展库的支持,他们都可能无法使用,因此在安装 PHP 时要根据以后的用途安装配置,本文只是对一些常用的配置进行了简单说明,PHP 的配置读者可以在 PHP 的学习过程中不断的了解掌握!从 PHP5 开始,PHP 就新增了内置的标准扩展库:XML 扩展库-Dom、SimpleXML、SPL、SQLite 等,而像Mysql、Mysqli、Overload、GD2 等这些库则被放在 PECL 外部扩展库中,需要时在 php.ini 配置文件中通过配置相关内容,选择加载。Windows 下加载扩展库,是通过修改配置文件 php.ini 文件来完
23、成的。用户也可以在脚本中通过使用 dl()函数来进行动态加载,PHP扩展库的 DLL 文件都具有 php_前缀。很多扩展库都内置于 Windows 版本的 PHP 中,要加载这些扩展库不需要额外的 DLL 文件和 extension 配置指令。因此,在编辑 php.ini 文件和 PHP 的深入学习时,应当注意以下几点:1) 需要修改 extension_dir 设置以指向用户放置扩展库的目录或者放置 php_*.dll 文件的位置,一般扩展库的文件的位置都在PHP 的安装目录下。第三步中的第 2 步,即为此。2) 要在 php.ini 文件中启用某些扩展库,需要去掉extension=php
24、_*.dll 前的注释符号,即 将需要加载的扩展库前的分号“;”删除。3) 有的扩展库需要额外的 DLL 才能工作,其中一部分 DLL 文件包括在发行包中(PHP5 中在主目录下),但有一些,如 Oracle所需要的 DLL(php_oci8.dll)没有绑定在发行包中,如果安装 PHP5 需要将绑定的 DLL 从 C:php5dlls 复制到主目录C:php 中,值得注意的是将 C:php5 放到系统路径 PATH 中去。4) 某些 DLL 没有绑定在 PHP 发行包中,PECL 中有日益增加,数目巨大的 PHP 扩展库,这些扩展库需要单独下载。所以在开发网站程序,需要加载扩展库时,一定要搞
25、清楚所要加载的扩展库的信息,是内置扩展库(前面提到,不需要额外的 DLL 文件和 extension 配置指令)还是属于 PECL 的外置扩展库,因该怎样加载才能最为可靠方便:配置 php.ini 文件;复制 DLL 文件到指定的目录中去;使用 dl()函数动态加载。由于 phpini 文件的配置以及扩展库的使用的确让小白和菜菜们有些为难,现在不能完全掌握,这并不妨碍你对 PHP 的学习,关于这些内容,是应该在以后深入学习 PHP 过程中逐渐加深理解直至精通掌握的,大可不必为此而耿耿于怀!学习 PHP 最重要的就是掌握它的基础语法,才能循序渐进,才刚刚接触网络编程语言就急着想知道数据库的问题,
26、想把 php.ini 的配置、php 扩展库的使用理解清楚,是舍本逐末的做法,试问,你把这些弄的通透了,有何用处。2、关于本文,本文是笔者在学习 PHP 之余写的分享交流的文章,肯定有不足之处,其实 PHP 技术也是在不断的弥补不足,互相交流的基础上发展起来的。笔者只是想通过自己的努力,解决 PHPer 新手在学习中遇到的问题,使大家少走弯路。PHPer YY 新手群:2076727,欢迎各路编程好手,高手,菜菜,小白,以及对 PHP 及开源事业热衷支持的平民大众。附录:PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe 是什么意思。在 PHP 官网
27、上新版的 PHP,For Windows 的一共给了四个版本:VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe这让霡霂头疼啊,还好 PHP 官网提供下载的地方左边有个英文 choose 我看懂了,我估摸着就是如何来选择版本的意思吧,于是开始查字典及上网查找,终于看明白了具体意思,拿来分享给大家先。一、如何选择 PHP5.3 的 VC9 版本和 VC6 版本VC6 版本是使用 Visual Studio 6 编译器编译的,如果你的 PHP 是用 Apache 来架设的,那
28、你就选择 VC6 版本。VC9 版本是使用 Visual Studio 2008 编译器编译的,如果你的 PHP 是用 IIS 来架设的,那你就选择 VC9 版本。二、如何选择 PHP5.3 的 Thread Safe 和 Non Thread Safe 版本先从字面意思上理解,Thread Safe 是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式而耗尽系统资源。Non Thread Safe 是非线程安全,在执行时不进行线程(Thread)安全检查。再来看 PHP 的两种执行方式:ISAPI 和 FastCGI。ISAPI 执行方式是以
29、DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;而 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP,都建议下载、执行 non-thread safe 的 PHP(PHP 的二进位档有两种包装方式:msi 、zip,请下载 zip 套件)。FastCGI 执行方式是以单一
30、线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP ,都建议下载、执行 non-thread safe 的 PHP (PHP 的二进位档有两种包装方式:msi 、zip ,请下载 zip 套件)。所以,对于 PHP5.2 选择 Thread Safe 版本安装,而对于 PHP5.3则下载 None-Thread Safe,执行 PHP 比较有效率。Mysql 数据库版本的 The Essentials Package不包含 embedded server and bench
31、mark suite,有自动安装程序和配置向导,没有 MySQL Documentation。The Complete Package:包含 embedded server and benchmark suite,有自动安装程序和配置向导,有 MySQL Documentation。The Noinstall Archive:包含 embedded server and benchmark suite,没有自动安装程序和配置向导,有 MySQL Documentation。参考:For MySQL 5.0, there are three installation packages to ch
32、oose from when installing MySQL on Windows:The Essentials Package: This package has a filename similar to mysql-essential-5.0.40-win32.msi and contains the minimum set of files needed to install MySQL on Windows, including the Configuration Wizard. This package does not include optional components s
33、uch as the embedded server and benchmark suite.The Complete Package: This package has a filename similar to mysql-5.0.40-win32.zip and contains all files needed for a complete Windows installation, including the Configuration Wizard. This package includes optional components such as the embedded ser
34、ver and benchmark suite.The Noinstall Archive: This package has a filename similar to mysql-noinstall-5.0.40-win32.zip and contains all the files found in the Complete install package, with the exception of the Configuration Wizard. This package does not include an automated installer, and must be m
35、anually installed and configured.The Essentials package is recommended for most users. It is provided as an .msi file for use with the Windows Installer. The Complete and Noinstall distributions are packaged as Zip archives. To use them, you must have a tool that can unpack .zip files.Your choice of
36、 install package affects the installation process you must follow. If you choose to install either the Essentials or Complete install packages, see Section 2.4.8.2, “Installing MySQL with the Automated Installer”. If you choose to install MySQL from the Noinstall archive, see Section 2.4.8.5, “Installing MySQL from a Noinstall Zip Archive”.