2018年04月6日网站服务器迁移完成……

Windows下PHP5+Apache+MySQL开发环境的配置(整理篇)

php 苏 demo 1498℃ 0评论

在windows操作系统下搭建PHP与安装其他的一些软件工具不同。因为PHP是从Linux操作系统移植过来的一种语言,不仅在开发环境上尽量保留Linux的特点,(Apache是Linux下的Web服务器,地位就像Windows下的IIS。Mysql是Linux系统中捆绑的数据库,且三者都是开源免费,发展迅速,功能越来越强大的项目。是编程建站,项目开发,居家旅行的必备良药……脑袋抽筋了一下……我们言归正传……)在安装上也保留了linux上的印记。除了正常的安装外,还要在各自的配置文件(.ini、.conf)中进行专门的设置。废话少说,现在开始我们的PHP之旅……

第一步:下载安装的文件
1. MySQL:下载地址mysql-5.1.50-win32.msi;
2. Apache: 下载地址httpd-2.2.16-win32-x86-no_ssl.msi;
3. PHP5.3.3 下载地址php-5.3.3-Win32-VC6-x86
注意:一定要下载php-5.3.3-Win32-VC6-x86版本的,不要下载php-5.3.3-nts-Win32-VC6-x86版本,更不要下载VC9版本的,因为VC9是专门为IIS定制的,VC6 是为了其他WEB服务软件提供的,如 Apache。Apache服务器又有openssl和no_ssl之分,openssl表示带有openssl模块,利用openssl可给Apache配置SSL安全链接。
关于更多PHP、Mysql安装版本的问题,可以本文后的附录
第二步:安装文件
1. 在要安装的磁盘建一个文件夹(笔者的做法是在D盘的根目录下创建一个php文件夹D:\php)。
2. 安装Apache服务器,安装完成后的目录结果是:D:\php\Apache。(就是把Apache服务器安装在D:\php\Apache文件夹里,这个安装目录是可以自定义的,是Apache的安装目录。)
3. 把下载的php-5.3.3-Win32-VC6-x86解压的D:\php目录中,可以把文件夹的名字改短,结果D:\php\php5
4. 安装MySql数据库,它的安装和一般情况一样。笔者把他安装在(D:\php\MySQL)和php同目录。
其实关于安装Apache服务器以及Mysql数据库的图文教程网络上有很多,笔者在这里一笔带过。
第三步:配置PHP5.3.3
1. 配置PHP5.3.3,打开php安装目录(笔者是D:\php\php5)可以看到目录下有两个这样的文件php.ini- development和php.ini-production,第一个是开发使用的配置文件,第二个是标准的生产环境的配置,选择前者借即可。
2. 选择php.ini-development复制一份到同目录下,并改名为php.ini使用文本工具打开。
查找

1
2
; On windows:
; extension_dir = “ext”

可以看到两个; extension_dir = “ext”,选择On windows:下面的那个并去掉前面的分号;,修改为

1
2
; On windows:
extension_dir = “C:/php/ext”

表示指定PHP扩展包的具体目录,以便调用相应的DLL文件。
注释:网络上有一些配置教程要求把php.ini复制到系统盘的windows文件夹下,笔者经过Windows7下的测试,没有必要,如果读者仍有疑虑,也可将php,ini放在windows文件夹下,呵呵。
3.php默认许多功能和扩展是关闭的,默认PHP并不支持自动连接Mysql,需开启相应的扩展库功能。查找

1
2
3
4
5
6
7
;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/ext内的这几个DLL文件拷贝到系统盘的system32文件夹下,原理都是一样的,这里是在php.ini文件中开启扩展程序,PHP5能够通过php.ini配置文件的配置自动识别DLL程序扩展,不用多此一举。
查找short_open_tag = Off把它修改成short_open_tag = On,让其支持短标签。
注释:如果希望加载其他模块,方法相同,去掉前面的分号。关于PHP的扩展库问题,我们待会还要讨论。
在更新配置时,最好备份php.ini文件,避免不必要的麻烦。
4.配置PHP的Session功能
(对于PHPer新手来说,这一步,以及开启文件上传扩展,调整时差问题,一开始可能不太常用,在以后的PHP学习中,在学到Session功能的应用时,相关资料上会有如何配置的介绍,以后霡霂也会更新和PHP配置高级应用的文章。)
在使用session功能时,我们必须配置session文件在服务器上的保存目录,否则无法使用session,我们需要在Windows 7上新建一个可读写的目录文件夹,此目录最好独立于WEB主程序目录之外,此处我在D盘根目录上建立了phpsessiontmp目录,然后在php.ini配置文件中找到

1 ;session.save_path = “/tmp”

改为

1 session.save_path = “D:/phpsessiontmp”
  1. 复制php5ts.dll文件到WINDOWS/system32目录下。这步是保证系统能都识别PHP5,并能够正确的解释执行PHP脚本。
    注释:只有php-5.3.3-Win32-VC6-x86版本中才有php5ts.dll ,
    php-5.3.3-nts-Win32-VC6-x86版本是没有的。
    第四步:配置Apache
    1. 打开Apache目录下conf目录中的httpd.conf文件,查找#LoadModule,在其末尾处大概是128行的地方(提示,如果读者找不到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
    AddType application/x-httpd-php .html
    目录结构根据用户自己目录配置,在更改配置时最好先备份原文件。
    2. 修改具体的index文件先后顺序,由于配置了PHP功能,当然需要index.php优先执行
    查找DirectoryIndex index.html 将其修改成
1 Directory Index index.php default.php index.html index.htm default.html
default.htm

配置这里是指在打开页面默认直接打开的页面,就好像我们登陆网站的主页,一般打开的都是名为index.php或者index.html的页面。
3. 我们知道Apache默认服务器执行WEB主程序的目录为Apache2.2/htdocs ,所以当你的WEB主程序目录变更时,我们需要修改相应的Apache配置,查找DocumentRoot将其修改为指向你需要放置web文件的文件夹上(笔者在D:/php目录中创建了一个www文件夹)所以DocumentRoot就是DocumentRoot “D:/php/www”,读者可以根据自己配置来修改。
在安装Mysql时,也会出现提示,让读者选择数据库文件的存放位置,为了防止开发网站程序后期,上传网站程序时(一般自己建站都是租用虚拟主机)出现不必要的麻烦,建议把数据库表文件放在与PHP网页源码同一级的文件夹中,例如D:/php/SQldata。
4. 查找<Directory将其修改为你自己配置的DocumentRooot的路径(笔者是<Directory “D:/php/www”>)
第五步:测试php+Apache+MySql是否配置成功
1. 打开MySql在MySql中创建一个新数据库和表。(笔者是userInfo数据库和users表就有id和name两个字段)
测试吗?简单就好,呵呵!!
2. 在上面创建的www文件夹中创建一个index.php文件使用EditPlus(又一个文本编辑器)或者其他文本工具打开。
3. 写入:代码如下:
<?
$DB_HOST = “localhost”;
$DB_USER = “root”;
$DB_PASS = “root”;
$DB_NAME = “userInfo”;
mysql_connect($DB_HOST,$DB_USER,$DB_PASS);
mysql_select_db($DB_NAME);
mysql_query(“set NAMES gb2312”);
$sql = “Select * From users”;
$result = mysql_query($sql);
while($data=mysql_fetch_array($result)){
echo “————————“;
echo $data[‘id’].”<br/>”;
echo $data[‘name’].”<br/>”;
}
mysql_close();
?>
注释:关于测试的代码还有很多,但是都大同小异……
笔者在这里再介绍两个源码,分别这是PHP配置和Mysql数据库是否关联成功
源码1:PHP5配置相关信息
<?php
phpinfo();
?>
源码2:Mysql数据库是否关联成功
<?php
$link=mysql_connect(“127.0.0.1″,”root”,”pwd”);
//root为默认数据库用户名,pwd是你设置的数据库密码
if($link!=false)
{
echo”成功连接mysql服务器”;
}
else
{
echo”与本地Mysql服务器连接失败”;
}
mysql_close();
?>
4.启动Apache服务器,在浏览器输入http://localhost/回车。
如果进入相关页面,可以看到PHP的配置信息Mysql链接成功的页面:表示我们大功告成了!祝贺祝贺!
注释:PHP对中文支持不好,文件名和文件夹名最好用字母或英文。
几点声明
1、关于PHP扩展库的问题
PHP5一直在不断的升级更新,总体上围绕着性能、安全与新特新,不断为开发者提供新的动力。PHP提供了一些扩展库使PHP如虎添翼,更加灵活方便,如网上社区、BBS论坛等,如果没有扩展库的支持,他们都可能无法使用,因此在安装PHP时要根据以后的用途安装配置,本文只是对一些常用的配置进行了简单说明,PHP的配置读者可以在PHP的学习过程中不断的了解掌握!

从PHP5开始,PHP就新增了内置的标准扩展库:XML扩展库-Dom、SimpleXML、SPL、SQLite等,而像Mysql、Mysqli、Overload、GD2等这些库则被放在PECL外部扩展库中,需要时在php.ini配置文件中通过配置相关内容,选择加载。
Windows下加载扩展库,是通过修改配置文件php.ini文件来完成的。用户也可以在脚本中通过使用dl()函数来进行动态加载,PHP扩展库的DLL文件都具有php_前缀。
很多扩展库都内置于Windows版本的PHP中,要加载这些扩展库不需要额外的DLL文件和extension配置指令。
因此,在编辑php.ini文件和PHP的深入学习时,应当注意以下几点:

  • 需要修改extension_dir设置以指向用户放置扩展库的目录或者放置php_*.dll文件的位置,一般扩展库的文件的位置都在PHP的安装目录下。第三步中的第2步,即为此。
  • 要在ini文件中启用某些扩展库,需要去掉extension=php_*.dll前的注释符号,即 将需要加载的扩展库前的分号“;”删除。
  • 有的扩展库需要额外的DLL才能工作,其中一部分DLL文件包括在发行包中(PHP5中在主目录下),但有一些,如Oracle所需要的DLL(dll)没有绑定在发行包中,如果安装PHP5需要将绑定的DLL从C:\php5\dlls复制到主目录C:\php中,值得注意的是将C:\php5放到系统路径PATH中去。
  • 某些DLL没有绑定在PHP发行包中,PECL中有日益增加,数目巨大的PHP扩展库,这些扩展库需要单独下载。

所以在开发网站程序,需要加载扩展库时,一定要搞清楚所要加载的扩展库的信息,是内置扩展库(前面提到,不需要额外的DLL文件和extension配置指令)还是属于PECL的外置扩展库,因该怎样加载才能最为可靠方便:配置php.ini文件;复制DLL文件到指定的目录中去;使用dl()函数动态加载。
由于phpini文件的配置以及扩展库的使用的确让小白和菜菜们有些为难,现在不能完全掌握,这并不妨碍你对PHP的学习,关于这些内容,是应该在以后深入学习PHP过程中逐渐加深理解直至精通掌握的,大可不必为此而耿耿于怀!学习PHP最重要的就是掌握它的基础语法,才能循序渐进,才刚刚接触网络编程语言就急着想知道数据库的问题,想把php.ini的配置、php扩展库的使用理解清楚,是舍本逐末的做法,试问,你把这些弄的通透了,有何用处。

2、关于本文,本文是笔者在学习PHP之余写的分享交流的文章,肯定有不足之处,其实PHP技术也是在不断的弥补不足,互相交流的基础上发展起来的。笔者只是想通过自己的努力,解决PHPer新手在学习中遇到的问题,使大家少走弯路。PHPer YY新手群:2076727,欢迎各路编程好手,高手,菜菜,小白,以及对PHP及开源事业热衷支持的平民大众。

 

附录:
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe 是什么意思。
在 PHP 官网上新版的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 来架设的,那你就选择 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 执行方式是以 DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;
而 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP,都建议下载、执行non-thread safe 的 PHP(PHP 的二进位档有两种包装方式:msi 、zip,请下载 zip 套件)。
FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 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 benchmark 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 choose 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 such 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 server 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 manually 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 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”.

打赏

转载请注明:苏demo的别样人生 » Windows下PHP5+Apache+MySQL开发环境的配置(整理篇)

   如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。
支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!
喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情