热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

WinXP下全新安装Apache2,PHP5,MYSQL5,Zend的

看PHP,MYSQL,都出了新版本,想尝尝鲜,就试着安装了一下,然后把安装过程记了下来,希望能对学习PHP的新手有些帮助,斑竹可以考虑精一下了WindowsXP下全新安装Apache2,PHP5,MYSQL5,Zend的简单过程一、下载地址:ApacheSyntaxHighlig

看PHP,MYSQL,都出了新版本,想尝尝鲜,就试着安装了一下,然后把安装过程记了下来,希望能对学习PHP的新手有些帮助,斑竹可以考虑精一下了 Windows XP下全新安装Apache2,PHP5,MYSQL5,Zend的简单过程 一、下载地址: Apache2.0.50 :http://httpd.apache.org/download.cgi PHP5.0.2 :http://cn2.php.net/get/php-5.0.2-Win32.zip/from/a/mirror MYSQL5.0.2:http://dev.mysql.com/downloads/mysql/5.0.html Zend2.5.2 :http://www.zend.com/store/free_download.php?pid=13] 软件的安装偶就不说了,其中只有PHP下的是zip包,直接解压就可以了。 安装顺序就是上面列出来的顺序,Zend我是最后等所有的运行都没问题后才装的。
二、简单安装过程: (一)Apache: Apache2.0.50的安装很简单,我就直接把他装到了E盘根目录下(我C盘是系统盘,D盘是temp盘,偶发现在windows下单独拿个分区来做临时文件的存放地对系统的速度影响不小,这样做能提升系统运行的速度,感兴趣的朋友可以试试看),安装完后我的apache目录就是E:apache2 (二)PHP: 我是直接解压缩放到E盘php目录下了,这样查找文件会方便许多。 (三)Mysql: 直接装到E:mysql下,它的默认目录太长,是在C盘下的,偶的C盘是除windows的文件外别的一概不放的。 (四)Zend: 所有的调试都正常后我把Zend装到了E:program fileszend下 三、配置过程: (一)http.conf 这个文件我改了几个地方: 把PHP直接作为apache的一个模块运行,我在里面加了两句: CODE: [Copy to clipboard] LoadModule php5_module "E:/php/php5apache2.dll" AddType application/x-httpd-php .php 我在E:apache2目录下建立了一个www的目录用于存放我的站点文件,在http.conf里改了这样一句话: 把DocumentRoot "E:/Apache2/htdocs"改成了DocumentRoot "E:/Apache2/www" Apache2.0.x于1.3.x相比2.0.x默认不能直接列目录,偶感觉不爽,就改了: 把DocumentRoot "E:/Apache2/www"这句下的如下语句 CODE: [Copy to clipboard] Options FollowSymLinks AllowOverride None 改为: CODE: [Copy to clipboard] Options Indexes FollowSymLinks AllowOverride None 把apache的默认字符设置为中文简体: AddDefaultCharset GB2312 修改目录的默认首页: DirectoryIndex 后面写上你想设置为首页的文件名,如:index.html index.php等 别的就没再动什么地方 注意一点的是,要使这些配置生效需要重新启动apache (二)php.ini 以前用php4.x的时候觉得配置起来很简单,所以偶用PHP5也直接那么配了,谁知道完了mysql不能用,说是无法连接动态库,我仔细检查了一下 php_mysql.dll明明存在,可就说找不到,这点让我郁闷了N久,偶重新解压了php5也没用,后来在php的install文档里发现了这么一句话: php_mysql.dll MySQL functions PHP >= 5.0.0, requires libmysql.dll (bundled) 于是偶才找到了原因...... 配置php5.0.2是这样来过的: 把php.ini-dist复制到C:windows 下改名为 php.ini(装过php的都做过吧) 然后修改了几个地方: extension_dir = "E:phpext" (指定动态连接库的目录,php5和php4不同的地方就是它的动态连接库目录变了,这在它的文档结构里有详细的说明) 然后把下面几句前面的分号去掉 ;extension=php_dba.dll ;extension=php_dbase.dll ;extension=php_filepro.dll ;extension=php_gd2.dll ;extension=php_imap.dll ;extension=php_mysql.dll 接下来修改了一些文件上传以及内存使用最大限制: memory_limit = 20M post_max_size = 20M upload_max_filesize = 20M 别的就没改什么了,这里修改过php.ini以后也要重新启动apache 接下来一点很重要的就是把php目录下的 libmysql.dll 和 libmysqli.dll 复制到windows/system32下,如果不这样做,mysql动态连接库就无法正常加载。 (三)Mysql和Zend的配置 现在Apache和PHP都已经配置好了,在浏览器里输入localhost看看结果,运行成功,然后输入localhost/phpmyadmin看也成功。郁闷,Phpmyadmin提示错误信息: QUOTE: MySQL 返回: #1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client 奇怪了,偶明明装的是MYSQL最新版本怎么会客户端版本过低呢,真是郁闷啊 就此放了一下,经多次测试仍然不成功就先放弃了一下,玩了一把KOF97 然后在CCF.熊猫和IM286.ceo的帮助下,终于找到了原因: 落伍ceo:“升级客户端 新版本的mysql使用了新的密码验证方法 设置mysql密码时使用old_password可以解决这个问题” CCF.熊猫:“使用old_password”重新设定密码就可以了”。 感谢这两位朋友,具体解决办法如下: 由于偶不知道怎么升级client,因为在windows 下 server和client是捆绑安装的,我就用了old_password的方法: QUOTE: mysql> UPDATE mysql.user SET Password = OLD_PASSWORD(newpwd) -> WHERE Host = some_host AND User = some_user; mysql> FLUSH PRIVILEGES; 然后浏览“http://localhost/phpmyadmin”,OH YEAH! 测试成功!

推荐阅读
  • 在第六章中,我们将深入探讨MySQL中的多表查询技术,包括联结查询和子查询。联结查询通过将两个或多个表进行连接,基于连接条件生成结果集。常见的联结类型有内联结、外联结和全外联结。交叉联结(CROSS JOIN)虽然使用较少,但其原理是生成所有可能的组合,类似于笛卡尔积的概念。此外,子查询则是在一个查询语句中嵌套另一个查询,用于获取更复杂的数据集。本章将通过实例详细讲解这些查询方法的应用和优化技巧。 ... [详细]
  • 如何将PHP文件上传至服务器及正确配置服务器地址 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
  • 优化后的标题:数据网格视图(DataGridView)在应用程序中的高效应用与优化策略
    在应用程序中,数据网格视图(DataGridView)的高效应用与优化策略至关重要。本文探讨了多种优化方法,包括但不限于:1)通过合理的数据绑定提升性能;2)利用虚拟模式处理大量数据,减少内存占用;3)在格式化单元格内容时,推荐使用CellParsing事件,以确保数据的准确性和一致性。此外,还介绍了如何通过自定义列类型和优化渲染过程,进一步提升用户体验和系统响应速度。 ... [详细]
  • 为了在Fragment中直接调用Activity的方法,可以通过定义一个接口并让Activity实现该接口来实现。具体步骤包括:首先在Fragment中声明一个接口,并在Activity中实现该接口。接着,在Fragment中通过类型转换检查Activity是否实现了该接口,如果实现了则调用相应的方法。这种方法不仅提高了代码的解耦性,还增强了模块间的通信效率。此外,还可以通过ViewModel或LiveData等现代Android架构组件进一步优化这一过程,以实现更加高效和可靠的通信机制。 ... [详细]
  • 深入解析 OpenCV 2 中 Mat 对象的类型、深度与步长属性
    在OpenCV 2中,`Mat`类作为核心组件,对于图像处理至关重要。本文将深入探讨`Mat`对象的类型、深度与步长属性,这些属性是理解和优化图像操作的基础。通过具体示例,我们将展示如何利用这些属性实现高效的图像缩小功能。此外,还将讨论这些属性在实际应用中的重要性和常见误区,帮助读者更好地掌握`Mat`类的使用方法。 ... [详细]
  • 通过优化模板消息机制,本研究提出了一种高效的信息化推送方案。该方案利用获取的访问令牌(access token)和指定的模板ID,实现了精准且快速的信息推送,显著提升了用户体验和信息传递效率。具体实现中,通过调用相关API接口,确保了消息的准确性和及时性,为用户提供更加便捷的服务。 ... [详细]
  • 在ASP.NET MVC项目中,通过实战解决了Ajax请求500错误及多表数据查询的问题。具体而言,将页面分为两个部分,用户点击右侧导航栏时,通过Ajax请求动态加载数据,并在右侧显示相应的页面内容。最初尝试使用Partial Action方法,但遇到了500错误。通过详细排查和调试,最终成功解决了这一问题,并实现了预期功能。此外,还优化了多表数据查询的性能,确保系统的高效运行。 ... [详细]
  • 通过自定义 `TextView`,实现了在用户点击或焦点变化时动态调整字体颜色的效果。该方法利用了 `ColorStateList` 和 `Selector` 资源文件,确保了界面交互的流畅性和视觉效果的提升。具体实现中,通过重写 `onTouchEvent` 和 `onFocusChanged` 方法,精确控制了颜色变化的时机和状态。此外,还对性能进行了优化,确保在高频率操作下依然保持高效响应。 ... [详细]
  • 尽管许多人认为跑步是一项简单的运动,但实际上它涉及诸多专业知识。不正确的跑步方式不仅会降低锻炼效果,还可能引发伤害。例如,穿着不合脚或过于陈旧的跑鞋,会导致足部支撑不足,增加受伤风险。此外,跑步姿势不当、热身不足、过度训练等问题也同样值得关注。本文将详细介绍七大常见跑步误区,并提供专业的改进建议,帮助跑者避免这些问题,提高运动效率和安全性。 ... [详细]
  • 如何在PHP中提取数字的特定位数值
    本文将详细介绍如何在PHP中提取数字的特定位置的数值。这一技巧对于数据处理和算法实现具有重要意义,通过实例代码和详细解析,帮助读者掌握该方法的应用场景和实现方式。 ... [详细]
  • 本文深入探讨了 iOS 开发中 `int`、`NSInteger`、`NSUInteger` 和 `NSNumber` 的应用与区别。首先,我们将详细介绍 `NSNumber` 类型,该类用于封装基本数据类型,如整数、浮点数等,使其能够在 Objective-C 的集合类中使用。通过分析这些类型的特性和应用场景,帮助开发者更好地理解和选择合适的数据类型,提高代码的健壮性和可维护性。苹果官方文档提供了更多详细信息,可供进一步参考。 ... [详细]
  • Java 零基础入门:SQL Server 学习笔记(第21篇)
    Java 零基础入门:SQL Server 学习笔记(第21篇) ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
author-avatar
兜兜岁月真伟大
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有