win iis6 fastcgi php548 mysql配置.docx
《win iis6 fastcgi php548 mysql配置.docx》由会员分享,可在线阅读,更多相关《win iis6 fastcgi php548 mysql配置.docx(32页珍藏版)》请在冰豆网上搜索。
winiis6fastcgiphp548mysql配置
工程师指南
Win2003+Mysql5.5+IIS6.0+php5.4+phpmyadmin+zend配置操作手册
Version1.2
Win2003IIS6.0+FastCgi+PHP5.4.8+MYSQL+phpMyAdmin的安装配置教程
注意:
php环境配置最新工具:
IIS+fastcgi
php-5.4-Win32-VC9-x86notsafe.zip
mysql-essential-5.5.25.msi
phpMyAdmin-3.3.4-all-languages.rar
确保系统上安装有常用运行库支持:
VC++2008SP1、VC++6.0等(php5.3以后的版本都需要环境支持)
操作系统:
Win2003sp2(注本教程在WINXPSP2WIN2000上同样适用)
选择php的版本:
FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,以FastCGI来执行PHP,建议选择NonThreadSafe版本。
第一步:
MYSQL5.1.X的安装及降权
1、安装MYSQL
双击mysql-essential-5.1.48-win32.msi;如下图所示:
选择Custom自定义安装,如下图所示:
点击"Change"更改MySQL安装目录,如下图所示:
待文件复制安装完毕后,进行MySQL设置界面,单击Finish。
如下图所示:
选择DetailedConfiguration进行详细配置,如下图所示:
选择MySQL运行模式:
ServerMachine如下图所示:
(说明:
下面这个选项是选择mysql应用于何种类型,第一种是开发服务器,将只用尽量少的内存,第二种是普通WEB服务器,将使用中等数量内存,最后一种是这台服务器上面只跑mysql数据库,将占用全部的内存。
)
选择MySQL数据库默认存储方式:
Non-TransOnly(MYISAM)如下图所示:
(说明:
下面是选择数据库用途,第一种是多功能用途,将把数据库优化成很好的innodb存储类型和高效率的myisam存储类型,第二种是只用于事务处理类型,最好的优化innodb,但同时也支持myisam,最后一种是非事务处理类型,适合于简单的应用,只有不支持事务的myisam类型是被支持的。
一般选择第一种多功能的。
)
设定MySQL最大连接数:
一般设置为128-1000之间的整数。
如下图所示:
设定MySQL网络参数,注意:
不要启用StrictMode!
(启用严格模式)如下图所示:
设定MySQL默认字符集:
以用户站点语言为准。
如下图所示:
Windows环境设定,如下图所示:
选择includebindirectoryinwindowspath这样在命令行下也可以启动进入mysql
修改设定root用户密码,注意:
不要启动远程连接模式!
如下图所示:
完成MySQL的安装,并启动MySQL服务。
如下图所示:
(2)测试MySQL工作是否正常。
打开cmd命令提示符窗口,输入命令:
mysql–uroot–p
输入密码后,如果能够正常进入MySQL控制台则说明MySQL安装正常。
(3)准备LibMySQL动态链接库//这一步非必要
将F:
\MySQL\MySQLServer5.1\bin\libMySQL.dll文件复制到C:
\Windows\System32。
2、mysql降权
1、新建用户mysqlrun,不属于任何组
2、给mysql安装目录mysqlrun的完全控制,给C:
\DocumentsandSettings\目录mysqlrun的读取权限。
3、查看my.ini中的datadir=后的路径,然后把它修改成自己定义的路径,这是放数据库的地方,默认是在C:
\DocumentsandSettings\AllUsers\ApplicationData\MySQL\MySQLServer5.5\data下,把这下面的所有文件复制到自定义的路径中,并给mysqlrun用户该路径的完全控制权限。
4、查看my.ini中的innodb_data_home_dir="C:
/MySQLDatafiles/"路径,并给mysqlrun该路径的完全控制权限。
5、在服务中更改登录用户为mysqlrun并重启mysql服务
如果重启不了mysql,试试在my.ini最后加入tmpdir="C:
/soft/mysql/data/",C:
/soft/mysql/data为mysql的安装路径。
==============================================
第二步:
安装IIS6.0及FastCgi
1、安装iis6.0
在控制面板--添加/删除程序--添加/删除windows组件--应用程序服务器,添加安装IIS6.0
安装可能需要安装光盘。
2、安装、配置FastCgi
1、
网页版在线安装(当然也有下载版本的,自己找找):
下载安装。
默认安装是在C:
\WINDOWS\system32\inetsrv目录下,安装完成后,在inetsrv目录里找到fcgiext.ini,在最后面加上:
php=PHP
[PHP]
ExePath=C:
\PHP\php-cgi.exe
C:
\PHP\php-cgi.exe是你php的安装路径。
======================================
第三步:
PHP5.4的安装及配置
1、安装php
PHP的安装最为简单,当前版本为PHP5.4.8NonThreadSafe
将php-5.4.8-nts-Win32-VC9-x86.zip解压至C:
\php(这是本人安装PHP的目录,安装时可以根据自己的需要选择其它安装目录)这个目录下。
给php目录administrators、system完全控制,users组读取权限,在php下新建目录temp,并给everyone读取写入权限(该目录主要是给session的临时目录,当然也可以放到其它地方)。
//同时复制php5ts.dll、libmcrypt.dll和libmysql.dll到system32目录下,5.4.8可以不复制到该目录就能使用,如果有问题那么再把php目录下的所有dll复制到系统目录下。
注:
php从5.3版本以后(包含5.3),没有VC6版本了,全部是VC9都是用VisualC++2008编译的!
IIS用户选择NonThreadSafe版本
Apache用户选择ThreadSafe版本
2、配置php.ini
在php的安装目录中,新建一个文件夹temp用于存放临时文和session,找到php.ini-development(适合开发程序测试使用)php.ini-production(适合上线当产品使用),我们使用php.ini-production,复制一份php.ini-production并改名为php.ini,用文本编辑器打开php.ini
short_open_tag=On//允许使用短标记
大概730行附近,去掉前面分号并修改为如下值
extension_dir="C:
/php/ext"
大概796行附近,去掉前面分号并修改为如下值
upload_tmp_dir="C:
/php/temp"
大概868--907行附近,根据服务器需要的组件去掉前面分号
extension=php_curl.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_pdo_mysql.dll
extension=php_xmlrpc.dll
extension=php_zip.dll
extension=php_ldap.dll
extension=php_mysqli.dll
extension=php_sockets.dll)
特别提示:
exif扩展是用来显示图片的exif信息的,因该扩展需要mbstring支持,所以将extension=php_exif.dll这一行移动到extension=php_mbstring.dll一行的下面。
注意最后一个php_zip.dll这个在php5.3.2的ext目录下是不存在的,所以如果开启会报错误,如果实在需要这个DLL,可以从PHP5.2中拷贝过去。
大概920行附近,去掉前面分号并修改为如下值
date.timezone=Asia/Shanghai
大概1395行附近,去掉前面分号并修改为如下值(;session.save_path="/tmp")
session.save_path="C:
/php/temp"
大概1425行附近,去掉前面分号并修改为如下值(session.cookie_path=/)
session.cookie_path="C:
/php/temp"
接下来修改了一些文件上传以及内存使用最大限制:
memory_limit=128M
post_max_size=20M
upload_max_filesize=20M
我们为了防止黑客获取服务器中php版本的信息,可以关闭该信息斜路在http头中:
expose_php=Off
关闭php错误显示
display_errors=Off
为了让fastcgi运行php还要修改
去掉;cgi.force_redirect=1前面的分号再改为cgi.force_redirect=0
去掉;fastcgi.impersonate=1去掉前面的分号
去掉;cgi.rfc2616_headers=0前面的分号再改为cgi.rfc2616_headers=1
至止php配置完毕。
======================================
第四步:
配置IIS支持FastCgi
配置iis使其支持fastcgi,配置跟isapi配置差不多。
1、配置iis
在IIS中打开
“网站”---“属性”---“主目录”---“配置”,添加一个新的ISAPI项。
可执行文件:
C:
\window\system32\inetsrv\fcgiext.dll
扩展名:
.php
支持index.php默认页,添加index.php并移动到第一位
到此配置文成,重启IIS,测试phpinfo是否成功。
=======================================
第五步:
phpMyAdmin3.3.X的安装
先设置下IE浏览器的COOKIE:
在WIN2003中设置下浏览器的COOKIE,打开IE,执行工具→Internet选项→隐私→高级,勾选“覆盖自动cookie处理”、“总是允许会话cookie”如下图,切换到常规选项卡,点击删除cookies按钮,清理下IE临时目录下的cookies。
安装配置过程:
将phpMyAdmin解压到存放PHP文档的目录下(我这里为:
F:
\myphp\,则phpMyAdmin的目录为:
F:
\myphp\phpMyAdmin\)
必须以cookies方式登录,2、必须以合法用户名和密码进行远程登录,如果没有配置phpmyadmin的用户名和密码,访问会被拒绝。
那么如何对phpmyadmin设置用户名和密码呢?
参照phpmyadmin2版本的配置,有两种配置方式:
1、传统的phpmyadmin配置方式,在phpmyadmin根目录index.php的同级目录下,创建config.inc.php,具体参考配置文件请参考config.sample.inc.php。
2、在phpmyadmin3版本中,有一种新的配置方式,即不需要创建config.inc.php,只要修改libraries/config.default.php配置文件的配置项即可。
这是因为phpmyadmin3中默认首先加载libraries/config.default.php配置文件的内容,如果有config.inc.php,就会在config.inc.php配置文件中找到相同的变量并覆盖,所以如果没有特别的设定,你不需要再去创建一个config.inc.php,只要在libraries/config.default.php进行相关的配置即可。
【设置访问URL】:
$cfg['PmaAbsoluteUri']='http:
//localhost/PHPMyadmin/';//填写访问phpMyAdmin的绝对URL
【设置用户名和密码工作如下】:
$cfg['Servers'][$i]['auth_type']='cookie';//设定phpmyadmin远程访问方式为cookie
$cfg['Servers'][$i]['user']='root';//登录MySQL用户名
$cfg['Servers'][$i]['password']='root';//登录MySQL密码
首先设定登录方式为cookie,然后设置用户名和密码,默认用户名为root,密码为空,你需要根据Mysql数据库配置的用户名和密码进行设定,我设置都为root。
【cookie加密(短语密码)】
在phpmyadmin配置文件config.default.php中找到:
$cfg['blowfish_secret']='cookies'
此处我赋值为cookies,这个密码用于Cookies的加密,仅当auth_type的方式为cookie时设置。
【语言和字符编码设置】:
①查找$cfg['DefaultLang'],将其值设置为zh-gb2312
②查找$cfg['DefaultConnectionCollation'],将其值设置修改为gbk_general_ci
③查找$cfg['DefaultCharset'],将其值设置为gbk
(★关于GBK、GB2312、UTF8编码的说明见本教程最后面)
配置好phpmyadmin后,重启下Apache服务器,在游览器中输入phpmyadmin的远程访问地址:
http:
//localhost/phpMyAdmin,再输入用户名和密码即可登录phpmyadmin进行Mysql数据库的管理,如图:
上图出现的问题解决办法:
◆phpmyadmin的链接表的附加功能尚未激活问题如何解决?
回到上图我们看到尽管phpmyadmin配置完成可以使用了,但是底部仍然提示有部分配置工作没有完成,其中一条提示:
链接表的附加功能尚未激活,那么如何解决呢?
首先,点击“导入”链接,上传phpmyadmin/scripts/create_tables.sql并执行,创建phpmyadmin数据库。
其次,在phpmyadmin配置文件config.default.php中找到:
$cfg['Servers'][$i]['pmadb']='phpmyadmin';
$cfg['Servers'][$i]['bookmarktable']='pma_bookmark';
$cfg['Servers'][$i]['relation']='pma_relation';
$cfg['Servers'][$i]['table_info']='pma_table_info';
$cfg['Servers'][$i]['table_coords']='pma_table_coords';
$cfg['Servers'][$i]['pdf_pages']='pma_pdf_pages';
$cfg['Servers'][$i]['column_info']='pma_column_info';
$cfg['Servers'][$i]['history']='pma_history';
$cfg['Servers'][$i]['designer_coords']='pma_designer_coords';
$cfg['Servers'][$i]['tracking']='pma_tracking';
在phpmyadmin配置文件中默认这些变量都是空的,你只需要根据注释对变量进行赋值即可。
完成上述配置操作后,关闭游览器,重新登录即可。
phpmyadmin登录方式说明:
在phpmyadmin3中,总共有四种登录方式
①config:
直接输入phpmyadmin远程登录地址即可,只要在配置文件中设置用户名密码即可。
②http:
弹出对话框,输入用户名和密码后进入
③signon:
类似于页面跳转的登录方式,同时需要设定$cfg['Servers'][$i]['SignonURL'],当你输入phpmyadmin的远程登录地址后会自动跳转到signonURL设定的网址。
④cookie:
也就是phpmyadmin配置时候的登录方式。
至此整个phpmyadmin3的安装和配置工作就算完成了,你可以体验phpmyadmin新版本的新功能了。
(本人调试到这里往往还要进行一步,即phpMyAdmin的减肥。
在其目录下的lang(phpMyAdmin的语言包)这个文件夹里,把其它用不到的东东全删光,只留下chinese_simplified-gb2312.inc.php和chinese_simplified-utf-8.inc.php这两个文件。
这样一下子给phpMyAdmin减去8M多的空间。
哈哈~,别担心,没有这8M多的东东,phpMyAdmin照样运行正常。
)
=======================================
第六步:
ZendOptimizer-3.3.X的安装
(本版本暂时不支持PHP5.3.X系列,因此以下步骤无须再看,等Zend出新版本来解决。
)
安装过程:
运行ZendOptimizer-3.3.3-Windows-i386文件,如下图
点击“NEXT>”进行下一步操作。
选择接受协议,如上图所示(最上面的复选框),点”next>”。
选择ZendOptimizer的安装路径,点”next>”。
注:
这里有需要注意的。
在选择服务软件名称时,由于我们这里使用的是apache2.2.15,所以选apache2.x,这里一定要根据自己的情况选择。
如,你使用的服务器软件为IIS的话,当然这里要选IIS喽。
如果用apache1.3,自然这里要选apache1.X了。
点”next>”进行下一步操作。
“pleasechoosethefolderinwhichyourphp.iniislocaled”即“选择PHP.INI文件所在的文件夹”,此时选择PHP.INI文件所在的路径(前面已经提及过,PHP.INI文件所在位置为C:
\php里,这里应点击Browse按钮选择路径C:
\php)。
点”next>”进行下一步操作。
“pleasechoosetherootfolderofyourwebserver”意思是“选择服务器软件所在的文件夹”,我这里的服务器软件为apache2.2.15,安装路径为C:
\Apache2.2,所以选择这个路径,点”next>”进行下一步操作。
如果此步操作成功,会出现如下图所示
点击“install”进行安装。
安装过程中ZendOptimizer会关闭服务器软件(apache2.2.15)
弹出对话框进行提示,如下图所示
点击“是”,进行下一步操作,全部点确定。
zendoptimizer开启服务器软件运行,出现上图所示,说明ZENDOPTIMIZER安装成功。
点“finish”。
我们还可以用php探针来测试一下,打开之前创建好的info.php,即http:
//localhost/info.php,如果看到下面两张图示,说明运行正常:
ZendOptimizer安装完成。
====================GBK、GB2312、UTF8====================
MySQL字符集GBK、GB2312、UTF8区别解决PHPMYSQL中文乱码问题
MySQL中涉及的几个字符集
character-set-server/default-character-set:
服务器字符集,默认情况下所采用的。
character-set-database:
数据库字符集。
character-set-table:
数据库表字符集。
优先级依次增加。
所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。
character-set-client:
客户端的字符集。
客户端默认字符集。
当客户端向服务器发送请求时,请求以该字符集进行编码。
character-set-results:
结果字符集。
服务器向客户端返回结果或者信息时,结果以该字符集进行编码。
在客户端,如果没有定义character-set-results,则采用character-set-client字符集作为默认的字符集。
所以只需要设置character-set-client字符集。
要处理中文,则可以将character-set-server和character-set-client均设置为GB2312,如果要同时处理多国语言,则设置为UTF8。
关于MySQL的中文问题
解决乱码的方法是,在执行SQL语句之前,将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集。
character_set_client:
客户端的字符集。
character_set_results:
结果字符集。
character_set_connection:
连接字符集。
设置这三个系统参数通过向MySQL发送语句:
setnamesgb2312
即在PHP中执行:
mysql_query(“setnamesgb2312”);
关于GBK、GB2312、UTF8
UTF-8:
UnicodeTransformationFormat-8bit,允许含BOM,但通常不含BOM。
是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。
UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。
UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。