php环境配置最新工具:
Apache HTTP Server2.2.15-win32-x86-no_ssl.msi;
php-5.3.2-Win32-VC6-x86.zip
mysql-essential-5.1.48-win32.msi
phpMyAdmin-3.3.4-all-languages.rar
ZendOptimizer-3.3.3-Windows-i386.exe (本版本暂时不支持PHP5.3.X系列)
确保系统上安装有常用运行库支持:
VC++ 2008 SP1、VC++ 6.0等
操作系统:Win 2003 sp2 (注本教程在WINXP SP2 WIN2000上同样适用)
第一步:MYSQL5.1.X的安装
(1) 安装软件
双击mysql-essential-5.1.48-win32.msi;如下图所示:
选择 Custom 自定义安装,如下图所示:
点击"Change"更改 MySQL 安装目录,如下图所示:
待文件复制安装完毕后,进行 MySQL 设置界面,单击 Finish 。如下图所示:
选择 Detailed Configuration 进行详细配置,如下图所示:
选择 MySQL 运行模式:Server Machine 如下图所示:
(说明:下面这个选项是选择mysql应用于何种类型,第一种是开发服务器,将只用尽量少的内存,第二种是普通WEB服务器,将使用中等数量内存,最后一种是这台服务器上面只跑mysql数据库,将占用全部的内存。)
选择 MySQL 数据库默认存储方式:Non-Trans Only ( MYISAM) 如下图所示:
(说明:下面是选择数据库用途,第一种是多功能用途,将把数据库优化成很好的innodb存储类型和高效率的myisam存储类型,第二种是只用于事务处理类型,最好的优化innodb,但同时也支持myisam,最后一种是非事务处理类型,适合于简单的应用,只有不支持事务的myisam类型是被支持的。一般选择第一种多功能的。)
设定 MySQL 最大连接数:一般设置为 128 - 512 之间的整数。如下图所示:
设定 MySQL 网络参数,注意:不要启用 Strict Mode! 如下图所示:
设定 MySQL 默认字符集:以用户站点语言为准。如下图所示:
Windows 环境设定,如下图所示:
修改设定 root 用户密码,注意:不要启动远程连接模式! 如下图所示:
完成 MySQL 的安装,并启动 MySQL 服务。如下图所示:
(2) 测试 MySQL 工作是否正常。
打开 cmd 命令提示符窗口,输入命令:mysql Cu root Cp
输入密码后,如果能够正常进入 MySQL 控制台则说明 MySQL 安装正常。
(3) 准备 LibMySQL 动态链接库
将F:MySQLMySQL Server 5.1binlibMySQL.dll 文件复制到 C:WindowsSystem32 。
(4) 查看MySQL目录权限
MySQL目录权限分配:
administrator:完全控制
system:完全控制
user:读取和运行
==============================================
第二步:Apache 2.2.X的安装
运行Apache HTTP Server2.2.15-win32-x86-no_ssl,如下图所示:
一路点击“Next”。
由于是本机学习环境,设置相应域名即可,(本人常用localhost作为Network Domain及Server Name,邮箱随便填写一个就OK了)如果你的Windows系统装了IIS,就不要选择Port80,否则就没关系,后面设置时也可以调整端口(因为IIS战胜80端口,由于共用80端口,容易引起冲突)。设置好后点击“Next”。
选择“Custom”,需要修改安装路径,点击“Next”。如选Typical,软件则默认安装路径为C盘,选Custom(自定义)可以选择你要安装的路径。
点击“Change…”,选择要安装的路径,点击“Next”。之后进入下一个安装窗口,点击“Install”。
稍等后,安装成功,点击“Finish”,完成Apache安装。
测试:
在Windows托盘区,你可以看到如同羽毛状的Apache图标,表示Apache安装成功并已启动。
打开浏览器,输入http://localhost/(或:http://127.0.0.1/),测试一下:
说明Apache安装成功。
=======================================
第三步:PHP5.3.X的安装
PHP的安装最为简单,当前版本为PHP5.3.2
将php-5.3.2-Win32-VC6-x86.zip解压至C:php(这是本人安装PHP的目录,安装时可以根据自己的需要选择其它安装目录)这个目录下。
======================================
第四步:配置Apache、PHP
安装PHP很简单,但是主要的挑战在于Apache和PHP的协作配置上,这是配置PHP运行环境整个过程的重点,也是难点。
为了后面说明的更容易,在此我先把本人配置PHP运行环境时各软件安装目录先说明一下:
apache目录为:C:Apache2.2, php目录为C:php, mysql目录为F:MySQL, 存放PHP文件的文档目录为:F:myphp。
一、建立p.ini文件
在php根目录里找到php.ini-development (另外一个文件php.ini-production是用于产品运行的典型配置),拷贝一份,然后重命名为 php.ini
再将php根目录下以及ext目录内的dll文件全部拷贝到c:windowssystem32目录内。
二、php.ini的配置:
1.打开php.ini查找extension_dir,修改如下:
extension_dir = "c:/php/ext" 注意去掉最前面的分号。
2.查找date.timezone,修改如下:
date.timezone = Asia/Shanghai 注意去掉最前面的分号。
3.搜索Windows Extensions将以下常用扩展前面的分号去掉:
extension=php_curl.dll
extension=php_gd2.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_sockets.dll
extension=php_xmlrpc.dll
特别提示:exif扩展是用来显示图片的exif信息的,因该扩展需要mbstring支持,所以将extension=php_exif.dll这一行移动到extension=php_mbstring.dll一行的下面。
注意最后一个php_zip.dll这个在php5.3.2的ext目录下是不存在的,所以如果开启会报错误,如果实在需要这个DLL,可以从PHP5.2中拷贝过去。
4. 配置上传文件存放的临时路径,首先在php目录下新建一个tmp文件夹,打开php.ini
找到:
;upload_tmp_dir =
改成:
upload_tmp_dir = "c:/php/tmp" 注意去掉前面的分号
找到:
;session.save_path = "/tmp"
改成
session.save_path = "C:/php/tmp" 注意去掉前面的分号
找到:
session.cookie_path = /
改成:
session.cookie_path = C:/php/tmp
三、配置Apache文件httpd.conf
该文件路径为:C:Apache2.2confhttpd.conf (一般在WIN开始菜单里的程序菜单里就能找到httpd.conf的快捷方式)。
①添加一条新指令:
# configure the path to php.ini
PHPIniDir "C:/php"
②找到DocumentRoot "C:/Apache2.2/htdocs",将其改为:DocumentRoot “F:/myphp”。
③找到<Directory "C:/Apache2.2/htdocs"> ,将其改为:<Directory "F:/myphp">
④找到“#LoadModule ssl_module modules/mod_ssl.so”,在后面一行增加:
LoadModule php5_module c:/php/php5apache2_2.dll
这将允许Apache将PHP程序作为模块来运行
⑤找到“AddType application/x-gzip .gz .tgz”,在后面一行增加:
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
你也可以加入更多(.htm等等),实质就是添加可以执行php的文件类型
⑥找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
将其改为:
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm
</IfModule>
以便Apache能够认到index.php的Welcome文件。如果还要配置端口的话找到
#Listen 12.34.56.78:80
Listen 80
将80改为你需要的端口,一般情况是不用改的。(不过本人习惯将#Listen 12.34.56.78:80
改为:Listen 127.0.0.1:80)
⑦查找:
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
修改为:
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
最后在F:myphp里放一个PHP文件info.php,其内容为:
<?php
phpinfo();
?>
在系统托盘处双击Apache图标,点击Restart按钮,重启一下服务,然后打开浏览器,输入http://localhost/info.php
当看到如上图所示的界面时,恭喜你,这步操作你成功了!
【知识点:php.ini的搜索顺序】
PhpIniDir是PHP的初始化文件php.ini的路径。许多朋友将php.ini放入windows目录下,但是这不是一种好的方式,因为系统搜寻php.ini的顺序是:
(1) SAPI模块所指定的位置(Apache2 中的PHPIniDir 指令,CGI 和 CLI 中的 -c 命令行选项,NSAPI 中的 php_ini 参数,THTTPD 中的 PHP_INI_PATH 环境变量);
(2) 注册表键值:HKEY_LOCAL_MACHINESOFTWAREPHPIniFilePath;
(3) 环境变量%PHPRC%;
右击"我的电脑"→"属性"→"高级"→"环境变量"→新建系统变量 PHPRC ,值为PHP所在目录(例如:C:php)。然后双击 Path ,在变量值末尾加入你的PHP所在目录,包括前面的半角状态下的分号(例如:;C:php),全部确定后重启。
(4) PHP5的根目录(For CLI),
(5)或者WWW的根目录(For SAPI moudles);
(6) Windows目录(C:windows);
很明显,在Apache的hpptd.conf中设置PhpIniDir是最好的办法。(PhpIniDir的设置跟PHP的版本有关系)
=======================================
第五步:phpMyAdmin 3.3.X的安装
先设置下IE浏览器的COOKIE:
在WIN2003中设置下浏览器的COOKIE,打开IE,执行工具→Internet选项→隐私→高级,勾选“覆盖自动cookie处理”、“总是允许会话cookie”如下图,切换到常规选项卡,点击删除cookies按钮,清理下IE临时目录下的cookies。
安装配置过程:
将phpMyAdmin解压到存放PHP文档的目录下(我这里为:F:myphp,则phpMyAdmin 的目录为:F:myphpphpMyAdmin)
必须以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>”进行下一步操作。
“please choose the folder in which your php.ini is localed”即“选择PHP.INI文件所在的文件夹”,此时选择PHP.INI文件所在的路径(前面已经提及过,PHP.INI文件所在位置为C:php里,这里应点击Browse按钮选择路径C:php)。点”next>”进行下一步操作。
“please choose the root folder of your web server”意思是“选择服务器软件所在的文件夹”,我这里的服务器软件为apache2.2.15,安装路径为C:Apache2.2,所以选择这个路径,点”next>”进行下一步操作。如果此步操作成功,会出现如下图所示
点击“install”进行安装。安装过程中ZendOptimizer会关闭服务器软件(apache2.2.15)
弹出对话框进行提示,如下图所示
点击“是”,进行下一步操作,全部点确定。
zend optimizer开启服务器软件运行,出现上图所示,说明ZEND OPTIMIZER安装成功。点“finish”。
我们还可以用php探针来测试一下,打开之前创建好的info.php,即http://localhost/info.php,如果看到下面两张图示,说明运行正常:
Zend Optimizer安装完成。
==================== GBK、GB2312、UTF8====================
MySQL字符集 GBK、GB2312、UTF8区别 解决PHP MYSQL中文乱码问题
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发送语句:set names gb2312
即在PHP中执行:mysql_query(“set names gb2312”);
关于GBK、GB2312、UTF8
UTF-8:Unicode Transformation Format-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。
GBK是国家标准GB2312基础上扩容后兼容GB2312的标准。GBK的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBD大。
GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换:
GBK、GB2312--Unicode--UTF8
UTF8--Unicode--GBK、GB2312
对于一个网站、论坛来说,如果英文字符较多,则建议使用UTF-8节省空间。不过现在很多论坛的插件一般只支持GBK。
GB2312是GBK的子集,GBK是GB18030的子集
GBK是包括中日韩字符的大字符集合
如果是中文的网站 推荐GB2312 GBK有时还是有点问题
为了避免所有乱码问题,应该采用UTF-8,将来要支持国际化也非常方便
UTF-8可以看作是大字符集,它包含了大部分文字的编码。
使用UTF-8的一个好处是其他地区的用户(如香港台湾)无需安装简体中文支持就能正常观看你的文字而不会出现乱码。
gb2312是简体中文的码
gbk支持简体中文及繁体中文
big5支持繁体中文
utf-8支持几乎所有字符
PHP MYSQL中文乱码问题
从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行.
解决方法:
1.在建表的时候设置编码类型为gb2312_chinese_ci.
2.在PHP页面的数据库连接语句加一行mysql_query("SET NAMES 'gb2312'",$link); 例如
$db_host="www.server110.com";
$db_user="root";
$db_password="password";
$db_name="test";
$link=mysql_connect($db_host,$db_user,$db_password);
mysql_query("SET NAMES 'gb2312'",$link);
$db=mysql_select_db($db_name,$link);
$query="select * from user";
$result=mysql_query($query);
在写入页面和读取页面都加入这行。这样在MYSQL里面的中文就能正常显示了。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。