2015-11-16 11:48:10
来 源
IT技术网
Apache
此文详细介绍Windows2003安装Apache+PHP+MYSQL+phpMyAdmin+ZendOptimizer图,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。

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的目录,安装时可以根据自己的需要选择其它安装目录)这个目录下。

======================================

第四步:配置ApachePHP

安装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安装完成。

==================== GBKGB2312UTF8====================

MySQL字符集 GBKGB2312UTF8区别 解决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里面的中文就能正常显示了。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。