
问题描述:
万源招商引资网后台是PHP加Mysql进行管理的,如何配置安装?
解析:
PHP4.3.1稳定版本:php/
Mysql4.0.13稳定版本:mysql/
Apache2.0.45稳定版本:apache/
Zend Optimizer:zend
Apache+PHP+MySQL+Perl 服务器套件 V1.1.0
v2.onlinedown/down/server110.exe
MySQL-Front 一个运行于ms平台的gui的mysql的管理器,非常好用
phpMyAdmin-2.5.0-php.zip 基于php脚本的mysql管理器
phpencode.exe php加密编译器
Winodws下Apache+PHP+MySQL的安装配置
PHP的安装文件可以直接到 php/ 下载,获得for win32的.zip包(5.8M)
Mysql的安装文件可以直接到 mysql 下载,获得for win32的.zip包
另外如果想体验Apache和PHP的配合效果而要放弃IIS的话,请到 apache 下载最新的for win31的.MSI安装包,目前最新版本是2.0.45。
另外,可以下载Zend Optimizer来对PHP进行加速。具体可以访问 zend
一、安装PHP
1.解压缩PHP压缩包到C:PHP(这个路径可以随意,不过以下要是用到这个路径,请相应的修改)。
2.复制C:PHP目录下的php4ts.dll及C:PHPdlls目录下的所有文件到windows的系统文件夹里,文件夹视Windows版本的不同而不同
如果是Windows 9x/ME 则为c:windowssystem
如果是Windows NT/2000 则为c:winntsystem32
如果是Windows XP/server2003 则为c:windowssystem32
其中C:为你现在所使用的 *** 作系统的系统盘,如果你目前 *** 作系统不是安装在C:windows下,请相应做出修改。
复制php.ini-dist到C:windows(XP/2003/9x/Me)或C:Winnt(2000/nt)下,并将其改名为php.ini。用记事本打开,修改一下信息:
搜索extension_dir = ./ 这行,并将其路径指到你的PHP目录下的extensions目录,比如:
extension_dir = C:PHPextensions
如若想支持更多模块,请接下面去做,如果不想的话,直接保存php.ini文件即可.
PHP所支持模块很多,不过有些dll不是免费的,所以没有随PHP的压缩包一起发布,不过dlls文件夹里带的就非常多了,刚才我们已经把它们复制到system32文件夹下了,现在我们测试看它支持多少模块。以下是我测试的结果,仅供参考,如果安装完毕后,d出不支持xxx.dll模块的话,直接将前面分号加上去就可以了,搜索:
Windows Extensions
Note that MySQL and ODBC support is now built in, so no dll is needed for it.
下面都用分号在前面注释掉了支持的扩展模块,如果你想PHP支持某个模块,请将前面的“”去掉即可,下面是我测试后的结果,一般按照下面那样去掉注释后没什么问题的:
extension=php_bz2.dll
extension=php_cpdf.dll
extension=php_crack.dll
extension=php_curl.dll
extension=php_db.dll
extension=php_dba.dll
extension=php_dbase.dll
extension=php_dbx.dll
extension=php_domxml.dll
extension=php_exif.dll
extension=php_fdf.dll
extension=php_filepro.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_hyperwave.dll
extension=php_iconv.dll
extension=php_ifx.dll
extension=php_iisfunc.dll
extension=php_imap.dll
extension=php_interbase.dll
extension=php_java.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mhash.dll
extension=php_mime_magic.dll
extension=php_ming.dll
extension=php_mssql.dll
extension=php_msql.dll
extension=php_oci8.dll
extension=php_openssl.dll
extension=php_oracle.dll
extension=php_pdf.dll
extension=php_pgsql.dll
extension=php_printer.dll
extension=php_shmop.dll
extension=php_snmp.dll
extension=php_sockets.dll
extension=php_sybase_ct.dll
extension=php_w32api.dll
extension=php_xmlrpc.dll
extension=php_xslt.dll
extension=php_yaz.dll
extension=php_zip.dll
修改完成后,保存php.ini,到此完成PHP的安装和配置。
二、安装Mysql
Mysql相对来说是比较独立的,这个数据库很小,不能直接对它进行 *** 作,不像access或者SQL2000那么直观,不过目前已经有很多软件可以很好的 *** 作它的,比如phpMyAdmin,mysqlcc。这些软件可以到 mysql 上面下载获得,这里不详细说明。
下载获得Mysql的for win32安装包后,用winzip打开,直接运行setup.exe,需要注意的是选择一个安装路径,当然,安装路径可以任意,不过我建议将它和PHP安装在一起,选择C:MySQL目录。安装完成后MySQL也就完成了。至于设置用户和密码,可以使用上面提到的两个软件进行管理。这里不继续描述,默认的用户名是root,密码为空。
一般装完MySQL后请运行C:MySQLbinmysqld-nt.exe --install (将会出现一个Dos窗口,随即自动关闭!如果没有出任何信息,即安装到service成功!)
从“开始”菜单“程序”=>“管理工具”=?“服务”,打开后,将会找到MySql,点击mouse右键选择启动。回到刚刚的Dos窗口:即c:MySQLbin目录下 运行mysqladmin -u root password 123 即把root用户的密码设置为123 这一步,如果没有出错,说明初始化root密码成功;当然从本机进入MySql是不需要用户名和密码,但用php 程序或是其它程序连接MySql时就要用到;
测试进入
第一种方法:直接动行MySql进入MySql 的dos管理状态;
第二种方法:运行MySql -uroot -p MySql将会提示让您输入密码,密码当然就是刚刚设置的123(当然,得按设置的密码喽,不一定得设置是123)出现: C:MySqlbin>MySql -uroot -p Enter password: ********** Wele to the MySql monitor. Commands end with or g. Your MySQL connection id is 4 to server version: 3.27.44-nt Type 'help' or 'h' for help. Type 'c' to clear the buffer. mysql>即安装MySql成功。
三、安装Apache
我们下载到的for win32的是一个Msi安装文件,直接双击它后就会自动执行Apache的安装了,按照提示安装即可,其中要书写的东西按照你的喜好填写,没甚么影响,当然,目录我还是建议你和PHP的目录以致,选择C:目录,这样安装后可以看到C:Apache2了。装完后会在桌面右下角系统托盘里显示apache的图标,双击可以打开Apache的控制面板,可以停止或者重起服务器。
这里要做的是对C:Apache2confd.conf这个文件进行修改,用记事本打开:
找到:
#NameVirtualHost *
修改为:
NameVirtualHost 127.0.0.1
找到:
修改下面几行:
ServerAdmin (你刚才安装时候输入的管理员信箱)
DocumentRoot c:Apache2htdocs
ServerName Apache2
ErrorLog c:Apache2logserror_log
CustomLog c:Apache2logsaccess_log mon
找到:
AddType application/x-tar .tgz
在下面添加以下两行:
AddType application/x-d-php .php
AddType image/x-icon .ico
找到:
#LoadModule ssl_module modules/mod_ssl.so
在下面添加一行:
LoadModule php4_module C:phpsapiphp4apache2.dll
增加默认文件:
找到DirectoryIndex * 这行,可以这样修改,添加默认的文件名:
DirectoryIndex index.php default.php index index default default
保存文件,重起apache服务器。
到此PHP的环境已经完全建立了。
注1:有两种方式使 PHP 工作于 Windows 下的 Apache 1.3.x。一种是 CGI 方式(php.exe),另一种是使用 Apache 模块 DLL。不管哪种方式都需要停止 Apache,编辑 d.conf 来配置 Apache 以加入PHP支持(上文提及的为加载模块方式)。 值得在这里指出现在 Windows 下的 SAPI 模块更加稳定了,我们推荐使用模块方式,因为更加透明和安全。
Apache 配置文件中以 CGI 方式安装:
ScriptAlias /php/ "c:/php/"
AddType application/x-d-php .php .p
Action application/x-d-php "/php/php.exe"
注意上面的第二行在原来的 d.conf 中就有的,不过被注释了。还有记住用你自己放置 PHP 的路径替换 c:/php/。
警告:在 CGI 方式下,你的服务器可能会受到几种攻击的影响。请学习如何防止攻击。
注2:在 Windows-Apache 组合中,所有路径中的反斜线例如 "c:directoryfile.ext" 都必须转换成斜线,如 "c:/directory/file.ext"。
四、Zend Optimizer的安装(可以不装)
下载来后是一个.exe的文件,直接安装就可以了,安装过程要你选择PHP版本,一定要选择准确,这里我选择php 4.3.x 完成安装之前提示是否备份php.ini,点确定后就结束安装了。打开php.ini,修改一个地方:
找到:
[Zend]
在下面可以看到:
zend_optimizer.optimization_level=*
这行,
将=后面数值改为1023,也就是将这行改为
zend_optimizer.optimization_level=1023
保存后就OK了哦,重起Apache,到此安装全部结束。
五、测试:
用记事本新建个文件,写下下面几行,保存到C:Apache2htdocs目录下,这个目录就是你的站点跟目录,命名为phpinfo.php.然后在浏览器中输入localhost/phpinfo.php就可以看到想尽的关于PHP的信息了。
您需要注意在您保存文件时,文件的后缀名应该为 .php。(记事本将自动在文件名后面加上 .txt后缀,除非您采取以下措施之一来避免这种情况。)当您保存文件时,系统会让你指定文件的文件名,这时请将您的文件名加上引号。(例如,“hello.php”。)或者,您也可以点击保存对话框中的“保存类型”下拉菜单,并将设置改为“所有文件”。这样您在输入文件名的时候就不用加引号了。
上面一段话摘自《PHP中文手册》,更详细的安装资料,请到 php/docs.php 下载这个中文手册,里面有各种不同系统的详细安装,不过不是很直观而以,一些优化也没有写出来:)
另,PHP4.3.2RC4中包含了PEAR包,PHP4.3.1中是没有的,如果你下载的压缩包里有的话,就在php.ini中设置include路径,找到如下两行:
Windows: "path1path2"
include_path = ".:/php/includes"
修改为:
Windows: "path1path2"
include_path = "C:phppear"
保存即可,这个是PHP的包含文件路径,可以设置多个,用””格开。
PHP4.3.1稳定版本:php/
Mysql4.0.13稳定版本:mysql/
Apache2.0.45稳定版本:apache/
Zend Optimizer:zend
Apache+PHP+MySQL+Perl 服务器套件 V1.1.0
v2.onlinedown/down/server110.exe
MySQL-Front 一个运行于ms平台的gui的mysql的管理器,非常好用
phpMyAdmin-2.5.0-php.zip 基于php脚本的mysql管理器
phpencode.exe php加密编译器
你如果不会 *** 作的话最好下载一个MySQL Manager-EMS MySQL Manager,就可视化的 *** 作mysql了。如果用mysql中的命令行 *** 作:1、默认的用户名是root,密码是空,如果你再安装时没有改的话。可以用下面的语句修改用户名和密码:mysqladmin -u root -p password 1232、启动mysql命令如下:mysqld搜索mysqld - nt - standalonemysqld - max -nt - standalone3、停止命令:mysqladmin - u root shutdown4、连接mysqlmysql –h localhost –u root –p5、一些基本命令显示数据库:show databases使用数据库:use 数据库名;(注意在mysql命令行编辑每输入完命令后最后一定要有分号,不然会报错)6、建库create database ..(一样的)7、为数据库设置权限(用户和密码)命令:grant all privileges on 数据库.* to 用户名@localhost identified by “密码”当你执行完这个命令以后,只要你再以用户名、密码登录时你就只可以对该数据库 *** 作,这样避开使用root,对数据库的安全有很大帮助.8、命令行上输入”?”,就会有mysql命令的简单帮助。在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too many connections”-mysql 1040错误,这是因为访问MySQL且还未释放的连接数目已经达到MySQL的上限。
通常,mysql的最大连接数默认是100, 最大可以达到16384。
在Windows下常用的有两种方式修改最大连接数。
第一种:命令行修改。
>mysql -uuser -ppassword(命令行登录MySQL)
mysql>show variables like 'max_connections'(查可以看当前的最大连接数)
msyql>set global max_connections=1000(设置最大连接数为1000,可以再次查看是否设置成功)
mysql>exit(推出)
这种方式有个问题,就是设置的最大连接数只在mysql当前服务进程有效,一旦mysql重启,又会恢复到初始状态。
因为mysql启动后的初始化工作是从其配置文件中读取数据的,而这种方式没有对其配置文件做更改。
第二种:修改配置文件。
这 种方式说来很简单,只要修改MySQL配置文件my.ini 或 myf的参数max_connections,将其改为max_connections=1000,然后重启MySQL即可。
但是有一点最难的就是my.ini这个文件在哪找。
通常有两种可能,一个是在安装目录下(这是比较理想的情况),另一种是在数据文件的目录下,安装的时候如果没有人为改变目录的话,一般就在C:/ProgramData/MySQL往下的目录下。
与连接数相关的几个参数:
在修改最大连接数的时候会有这样一个疑问—这个值是不是越大越好,或者设置为多大才合适?这个参数的大小要综合很多因素来考虑,比如使用的平台所支持的线程库数量(windows只能支持到2048)、服务器的配置(特别是内存大小)、每个连接占用资源(内存和负载)的多少、系统需要的响应时间等。
可以在global或session范围内修改这个参数。
连接数的增加会带来很多连锁反应,需要在实际中避免由此引发的负面影响。
首先看一下MySQL的状态:
mysql>status
--------------
mysql Ver 14.14 Distrib 5.5.15, for Win32 (x86)
Connection id: 1
Current database:
Current user: root@localhost
SSL: Not in use
Using delimiter:
Server version: 5.5.15 MySQL munity Server (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: utf8
Db characterset: utf8
Client characterset: gbk
Conn. characterset: gbk
TCP port: 3306
Uptime: 1 hour 3 min 27 sec
Threads: 12 Questions: 18 Slow queries: 10 Opens: 33 Flush tables: 5 Open tab
les: 34 Queries per second avg: 6.256
--------------
Open tables:34,即当前数据库打开表的数量是34个,注意这个34并不是实际的34个表,因为MySQL是多线程的系统,几个不同的并发连接可能打开同一个表,这就需要为不同的连接session分配独立的内存空间来存储这些信息以避免冲突。
因此连接数的增加会导致MySQL需要的文件描述符数目的增加。
另外对于MyISAM表,还会建立一个共享的索引文件描述符。
在MySQL数据库层面,有几个系统参数决定了可同时打开的表的数量和要使用的文件描述符,那就是table_open_cache、max_tmp_tables和open_files_limit。
mysql>show variables like 'table_open%'
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| table_open_cache | 256 |
+------------------+-------+
1 row in set (0.00 sec)
table_open_cache:256,这就是说所有的MySQL线程一共能同时打开256个表,我们可以搜集系统的打开表的数量的历史记录和这个参数来对比,决定是否要增加这个参数的大小。
查看当前的打开表的数目(Open tables)可用上边提到过的status命令,另外可以直接查询这个系统变量的值:
mysql>show status like 'open_tables'
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_tables | 3 |
+---------------+-------+
1 row in set (0.00 sec)
Open_tables就是当前打开表的数目,通过flush tables命令可以关闭当前打开的表。
这个值如果过大,并且如果没有经常的执行flush tables命令,可以考虑增加table_open_cache参数的大小。
接下来看max_tmp_tables:
mysql>show variables like 'max_tmp%'
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| max_tmp_tables | 32 |
+----------------+-------+
1 row in set (0.00 sec)
max_tmp_tables:32即单个客户端连接能打开的临时表数目。
查看当前已打开的临时表的信息:
mysql>show global status like '%tmp%table%'
+-------------------------+-------+
| Variable_name | Value |
+-------------------------+-------+
| Created_tmp_disk_tables | 0 |
| Created_tmp_tables | 11 |
+-------------------------+-------+
2 rows in set (0.00 sec)
根据这两个值可以判断临时表的创建位置,一般选取BLOB和TEXT列、Group by 和 Distinct语句的数据量超过512 bytes,或者union的时候select某列的数据超过512 bytes的时候,就直接在磁盘上创建临时表了,另外内存中的临时表变大的时候,也可能被MySQL自动转移到磁盘上(由tmp_table_size和max_heap_table_size参数决定)。
增加table_open_cache或max_tmp_tables 参数的大小后,从 *** 作系统的角度看,mysqld进程需要使用的文件描述符的个数就要相应的增加,这个是由open_files_limit参数控制的。
mysql>show variables like 'open_files%'
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| open_files_limit | 2670 |
+------------------+-------+
1 row in set (0.00 sec)
但是这个参数是OS限制的,所以我们设定的值并不一定总是生效。
如果OS限制MySQL不能修改这个值,那么置为0。
如果是专用的MySQL服务器上,这个值一般要设置的尽量大,就是设为没有报Too many open files错误的最大值,这样就能一劳永逸了。
当 *** 作系统无法分配足够的文件描述符的时候,mysqld进程会在错误日志里记录警告信息。
相应的,有两个状态变量记录了当前和历史的文件打开信息:
mysql>show global status like '%open%file%'
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_files | 0 |
| Opened_files | 76 |
+---------------+-------+
2 rows in set (0.00 sec)
MySQL为每个连接分配线程来处理,可以通过threads_connected参数查看当前分配的线程数量:
mysql>show status like '%thread%'
+------------------------------------------+-------+
| Variable_name | Value |
+------------------------------------------+-------+
| Delayed_insert_threads | 0 |
| Performance_schema_thread_classes_lost | 0 |
| Performance_schema_thread_instances_lost | 0 |
| Slow_launch_threads | 0 |
| Threads_cached | 0 |
| Threads_connected | 1 |
| Threads_created | 1 |
| Threads_running | 1 |
+------------------------------------------+-------+
8 rows in set (0.00 sec)
比较threads_connected参数和前面提到的max_connections参数,也可以作为目前的系统负载的参照,决定是否需要修改连接数。
查看每个线程的详细信息:mysql>show processlist对影响系统运行的线程:kill connection|query threadid的命令杀死。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)