当前位置: 首页 > 编程日记 > 正文

mysql thread safe_Windows环境下完全手工配置Apache、MySQL和PHP(Thread Safe)

happydagui:现在LAMP(Linux、Apache、MySQL、PHP/Perl/Python的简称)已经很流行了。在Windows下也有类似的,比如 WAMP(Apache, MySQL, PHP on Windows)。这篇文章主要是介绍如何在Windows环境下完全手工配置Apache、MySQL和PHP,都是解压后直接修改配置文件的。当然也可以下载执行安装文件的版本,一个个进行自动安装。这里能了解这些软件安装的过程,有问题时能及时发现,某个软件升级更新时也能快速配置。

我的环境:windows 7 x64

一. 软件下载

httpd-2.2.22-win32-x86-openssl-0.9.8t.msi

mysql-noinstall-5.1.66-win32.zip

php-5.3.17-Win32-VC9-x86.zip(这是thread safe版本)

二. 安装Apache HTTP Server

1. 下载的文件是msi文件,直接双击即可进行界面安装。

d:\apps\Apache2.22.

启动Apache,在浏览器中输入http://localhost/ 看到页面显示 It works! ,好了,成功了。注意:这里是默认监听80端口,如果有其它软件也在监听80端口,会冲突,可以参考步骤5修改默认的监听端口,如改为8080,则浏览器要输入:http://localhost:8080

三. 安装PHP5

(这里是采用thread safe的php版本,与non thread safe版本的区别,参见《什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?》)

1. 将php-5.3.17-Win32-VC9-x86.zip解压在d:\apps\php-5.3.17-Win32-VC9-x86\目录下,进入目录,找到php.ini-dist php.ini-development文件,更名为php.ini,最好是复制一份再更名.

2. 编辑Apache的httpd.conf文件(在Apache的安装目录下的conf子目录中),在最后添加下面部分,保存。

LoadModule php5_module "D:/apps/php-5.3.17-Win32-VC9-x86/php5apache2_2.dll"

AddType application/x-httpd-php .php

PHPIniDir "D:/apps/php-5.3.17-Win32-VC9-x86"

3. 然后新建一个info.php文件,内容如下,将其放到Apache下的htdocs文件夹中。

phpinfo( );

?>

4. 启动Apache,在浏览器中输入 http://localhost/info.php  ,如果能出现页面,就成功了。

注意: php的安装目录最好不要用中间有空格的路径(例如:C:/Program Files/PHP 就不太好),如果这样做有些web服务器会崩溃。

httpd.conf 不能load php5apache2.dll ,要写成 php5apache2_2.dll

四. 安装 MySQL

1. 解压mysql-noinstall-5.1.66-win32.zip到d:\apps目录下,应该会有个mysql-5.1.66-win32文件夹,在此目录下,新建一个my.ini文件。内容如下:

[WinMySQLAdmin]

Server=D:/apps/mysql-5.1.66-win32/bin/mysqld.exe

[mysqld]

basedir=D:/apps/mysql-5.1.66-win32

datadir=D:/apps/mysql-5.1.66-win32/data

default-character-set=utf8

character_set_server=utf8

init_connect='SET NAMES utf8'

[client]

default-character-set=utf8

上面“Server”指向MySQL的执行主程序,“basedir”指向MySQL的安装目录,“datadir”指向MySQL的数据存放目录,如果你的安装目录不是上面所指的,修改成自己的。

2. 安装MYSQL为系统服务

切换到mysql安装目录下的bin目录,输入如下命令:

D:\apps\mysql-5.1.66-win32\bin>mysqld --install mysql --defaults-file=d:\apps\mysql-5.1.66-win32\my.ini

Service successfully installed.

D:\apps\mysql-5.1.66-win32\bin>net start mysql

mysql 服务正在启动 .

mysql 服务已经启动成功。

mysql是服务名称,就是安装成系统服务,如当安装成功 后,你在DOS下启动命令为 net start mysql,

卸载服务 mysqld  --remove mysql

3. 启动MYSQL

命令为在dos提示符下,或者开始--运行

net start mysql

net stop mysql

还是使用MySQL GUI Tools 5.0目录下的MySQLSystemTrayMonitor.exe更方便些。

4. 修改root的初始密码

输入(将密码修改为javamxj): mysqladmin -u root -p password javamxj

出现提示: Enter password: ,因为root的初始密码为空,所以直接按回车键即可.

如果要修改的密码不为空,则需要在出现提示时 Enter password: 输入原先旧密码.

注意:这里javamxj是所设的新密码,你可以随便设置,不过要记住所设的密码。

5. 测试

确认已经启动MySQL,切换到mysql安装目录下的bin目录,输入如下命令:

d:/Java/mysql/bin/mysql -uroot -pjavamxj

上面root是用户名,javamxj是刚才修改的新密码。如果出现欢迎信息,OK。

五. 在php5中使用MySQL

1. 打开php.ini文件,在486行修改extension_dir,也可以使用绝对路径

extension_dir = "ext"   在625,626行删除extension=php_mysql.dll和extension=php_mysqli.dll前的“;”,以加载php_mysql.dll和php_mysqli.dll

extension=php_mysql.dll

extension=php_mysqli.dll

extension=php_pdo_mysql.dll

2. 在PATH 环境变量中添加 D:/apps/mysql-5.1.66-win32;以便能加载这个目录下的dll文件(有可能需要重启才能起作用),或者把这些文件复制到windows的system32的目录下。

如果没有问题,那么 http://localhost/info.php 应该能看到 mysqli和mysql 模块.

六. 编码

1. 编写的php文件也采用UTF-8编码,另外在有关数据库操作的php文件头中,添加如下语句:

header("Content-type:text/html; charset=utf-8");

相关文章:

点滴积累【C#】---检验编号在本表中自动生成,与其他表无关

检验编号在本表中自动生成,与其他表无关 效果: 描述:在本表中自动生成编号,与其他表无关。 调用: 1 protected void Page_Load(object sender, EventArgs e)2 {3 Response.Expires -1;4 …

Alpha冲刺(9/10)

团队信息 队名:爸爸饿了组长博客:here作业博客:here组员情况 组员1(组长):王彬 过去两天完成了哪些任务 学习jQuery的AJAX部分的基础知识,对web端如何异步获取服务器信息有了初步认识接下来的计划 & 还…

linux进程通信:pipe实现进程同步

文章目录通过管道同步进程实现代码管道缓冲区设置缓冲区大小总结 :pipe的特点通过管道同步进程 管道自带同步互斥机制: 管道的内核实现:fs/pipe.c ,主要通过内核的锁以及等待队列等机制实现 管道的write操作会阻塞进程 当内存缓冲…

(转)MySQL联表查询

资料源于网络 一.内联结、外联结、左联结、右联结的含义及区别在SQL标准中规划的(Join)联结大致分为下面四种:1.内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结。2.外联结:分为外左联结和…

极小连通子图和极大连通子图_强连通分量与拓扑排序

前言由于GacUI里面开始多处用上拓扑排序,我决定把之前瞎JB搞出来的算法换掉,换成个正式的。之前我自己弄了个写起来很简单的算法,然后每一处需要用到的地方我就重新做一遍。当然这样肯定也是不行的,我觉得也差不多积累到重构的临界…

INTERVAL数据类型-007学习笔记

http://baggio785.itpub.net/post/31233/286119 INTERVAL数据类型用来存储两个时间戳之间的时间间隔。 可以指定years and months,或者days,hours,minuts,seconds之间的间隔。本文为oracle的学习笔记,结合实例介绍INTERVAL数据类型。 INTERVAL数据类型用…

scrapy模拟用户登录

scrapy框架编写模拟用户登录的三种方式: 方式一:携带cookie登录,携带cookie一般请求的url为登录后的页面,获取cookie信息应在登录后的页面获取,cookie参数应转成字典形式 # -*- coding: utf-8 -*- import re import sc…

linux 系统调用 open函数使用

函数介绍 本文仅仅将open系统调用的使用简单总结一下&#xff0c;关于其实现原理大批的大佬分享可以自行学习。open系统调用主要用于打开或者创建一个文件&#xff0c;并返回文件描述符。 头文件 #include <fcntl.h>函数名称 a. int open(const char *pathname, int fl…

配置zendframework开始工作(加入环境变量)

首先需要把把两个路径加入到环境变量中 1、我用的php环境是xampp&#xff0c;安装在di盘&#xff0c;我要把d:/xampp/php/这个路径加入到环境变量 2、下载zendframework&#xff08;我用的版本是1.&#xff09;,把安装包中的bin目录加入到环境变量 3、关于设置php/php.ini中设置…

mysql计算两gps坐标的距离_mysql 计算两坐标间的距离

mysql 5.6.1 加入了空间数据支持功能&#xff0c;新增了st_*相关函数&#xff0c;可以非常方便的计算两个地理坐标点的距离了。如下例子&#xff1a;按我的坐标计算周边坐标的距离并由近到远排序select name,st_distance(point(113.327955,23.129717),point)*111195 as distanc…

(转)mxArray数据类型

1 、数据类型mxArray的操作 在上节的Matlab引擎函数中&#xff0c;所有与变量有关的数据类型都是mxArray类型。数据结构mxArray以及大量的mx开头的函数&#xff0c;广泛用于Matlab 引擎程序和Matlab C数学库中。mxArray是一种很复杂的数据结构&#xff0c;与Matlab中的array相对…

Bootstrap笔记(记录不会的知识)

head&#xff1a; <link rel"stylesheet" href"bootstrap.min.css" /> 引入bootstrap.min.css文件 <meta name"viewport" content"widthdevice-width,initial-scale1" /> content"widthdevice-width&#xff1a;设为…

linux 系统调用 read,write和lseek 使用

read系统调用 头文件 #include <unistd.h>函数使用 ssize_t read(int fd, void *buf, size_t count) read 函数会从文件描述符fd中读取指定的count长度的内容&#xff0c;并且将读到的结果放入到buf缓冲区中返回值 count 读取成功&#xff0c;则会返回读到的字节数 小于…

简单有趣的matlab小程序_超实用有趣的五个小程序推荐

大家好&#xff0c;我是小胖。废话不多说&#xff0c;进入正题。1.一周CP共读有趣的灵魂总会相遇。一个极简的社交小程序。通过选择自己喜欢的一本书&#xff0c;匹配到那个跟自己有着一样有趣灵魂的TA。选择好要阅读哪本书之后&#xff0c;填写下资料&#xff0c;就能在看一本…

一些linux下的性能监测工具

1.gprof http://blog.csdn.net/stanjiang2010/article/details/5655143 2.系统性能调优 http://www.ibm.com/developerworks/cn/linux/l-time/part2/index.html?cadrs perf http://www.ibm.com/developerworks/cn/linux/l-cn-perf1/ oprofile http://www.ibm.com/developerwor…

uva 10183 How many Fibs?

数学题&#xff1a; 给你一个区间[a,b]在该区间内有多少个费波那列数&#xff08;包括a&#xff0c;b&#xff09;&#xff0c;数据规模达到10^100。 这题的原理很简单&#xff0c;基本没什么算法&#xff0c;其实更偏重于编程能力&#xff0c;需要用到高精度。另外找区间的地方…

2018/11/29 一个64位操作系统的设计与实现 02 (安装nasm)

操作系统: Centos7 在nasm官网上的到通过yum安装nasm的方法 首先在/etc/yum.repos.d/目录下 新建一个名为nasm.repo的文件, 在这么文件中写入内容如下 : [nasm] nameThe Netwide Assembler baseurlhttp://www.nasm.us/pub/nasm/stable/linux/ enabled1 gpgcheck0[nasm-testing]…

a-awk 计算数值最大,最小,平均值并保留指定位数

awk 计算最大值 echo -e "1\n2\n3\n10\n9\n5\n11\n"|awk BEGIN {max 0} {if ($1>max) max$1 } END {print "Max", max} 输出为&#xff1a;Max 11 或者可以使用sort命令更为便捷&#xff1a; cho -e "1\n2\n3\n10\n9\n5\n11\n"|sort -n |tai…

第18章:MYSQL分区

第18章&#xff1a;分区 目录 18.1. MySQL中的分区概述18.2. 分区类型18.2.1. RANGE分区18.2.2. LIST分区18.2.3. HASH分区18.2.4. KEY分区18.2.5. 子分区18.2.6. MySQL分区处理NULL值的方式18.3. 分区管理18.3.1. RANGE和LIST分区的管理18.3.2. HASH和KEY分区的管理18.3.3. 分…

mysql属性配置提高查询_MYSQL性能优化-安装时优化参数配置提高服务性能

MYSQL性能优化一直是个头痛的问题&#xff0c;目前大多都是直接把页面html静态页面或直接使用了缓存技术&#xff0c;下面我就mysql本身的性能优化来分享一下。安装时优化参数配置提高服务性能在Linux下安装Mysql采用默认配置安装的Mysql却未必是工作在最佳性能状态的&#xff…

c++引用的自我见解

2019独角兽企业重金招聘Python工程师标准>>> 刚开始学习c 学完指针后&#xff0c;其细节比较好明白&#xff0c;但学到引用了以后&#xff0c;只知其表却不知其底层的实现机制&#xff0c;虽然知道引用是别名、声明必须同时初始化等等&#xff0c;但这只是概念性的东…

c# yield关键字原理

https://www.cnblogs.com/blueberryzzz/p/8678700.html c# yield关键字原理详解 1.yield实现的功能yield return&#xff1a;先看下面的代码&#xff0c;通过yield return实现了类似用foreach遍历数组的功能&#xff0c;说明yield return也是用来实现迭代器的功能的。 using st…

linux进程间通信:命名管道FIFO

文章目录FIF&#xff2f; 通信特点系统调用接口应用拥有亲缘关系之间的进程通信非亲缘关系进程之间的通信总结FIF&#xff2f; 通信特点 FIFO文件有文件名 可以像普通文件一样存储在文件系统之中可以像普通文件一样使用open/write读写和pipe文件一样属于流式文件&#xff0c;不…

mysql 账户管理_如何用MySQL 命令来实现账户管理

今天我们要学习的是如何用MySQL 命令的方式来对账号进行管理&#xff0c;我们大家都知道在实际应用中MySQL 命令可以完成多种任务&#xff0c;以下的文章主要是对用MySQL 命令的方式来对账号进行管理的具体内容介绍。手册上说 “GRANT语句允许系统管理员创建MySQL用户账户&…

Can't connect to MySQL server on '127.0.0.1' (10061) (code 2003)解决方法

先验证一下MySQL的服务是否开启&#xff0c;到计算机->管理->服务和应用程序->服务 如果服务已开启&#xff0c;就检查一下C:\WINDOWS\system32\drivers\etc目录下的hosts文件&#xff0c; 是否存在这一下&#xff0c;不存在添加。 最后在mysql的配置文件my.ini中[mys…

学习MongoDB (1) :配置安装

为什么80%的码农都做不了架构师&#xff1f;>>> MongoDB是一种强大、灵活、可扩展的数据存储方式。它扩展了关系型数据库的众多有用的功能&#xff0c;如辅助索引、范围查询、排序。 最近开始在Windows 32位平台下研究MongoDB的使用&#xff0c;为了方便&#xff…

跨域策略文件crossdomain.xml文件

使用crossdomain.xml让Flash可以跨域传输数据 一、crossdomain.xml文件的作用 跨域&#xff0c;顾名思义就是需要的资源不在自己的域服务器上&#xff0c;需要访问其他域服务器。跨域策略文件是一个xml文档文件&#xff0c;主要是为web客户端(如Adobe Flash Player等)设置跨…

linux进程间通信:FIFO应用 /var/log/ 系统日志的模拟实现

在类unix操作系统下存在这样一个目录/var/log/&#xff0c;主要是记录操作系统相关的系统各个进程服务的日志信息 该日志系统的特性如下&#xff1a; 支持多进程并发写入同一文件不同进程日志信息可以写入不同文件支持使用head/tail/grep/cat/vi 等命令进行日志操作 我们可以…

context.xml mysql_在tomcat下context.xml中配置各种数据库连接池(示例代码)

Tomcat6的服务器配置文件放在 ${tomcat6}/conf 目录底下。我们可以在这里找到 server.xml 和 context.xml。当然&#xff0c;还有其他一些资源文件。但是在在本文中我们只用得上这两个&#xff0c;其他的就不介绍了。1,首先&#xff0c;需要为数据源配置一个JNDI资源。我们的数…

Planetary.js:帮助你构建超炫的互动球体效果

Planetary.js 是一个 JavaScript 库&#xff0c;用于构建互动球体效果。它使用 D3 和 TopoJSON 解析和渲染地理数据。Planetary.js 采用了基于插件的架构&#xff0c;即使是默认的功能是作为插件实现的&#xff0c;这使得 Planetary.js 非常灵活。Planetary.js 是完全可定制&am…