• TestLink学习一:Windows搭建Apache+MySQL+PHP环境


    PHP集成开发环境有很多,如XAMPP、AppServ......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软件需要升级,直接升级那个软件就行了,并不影响其他软件,非常方便。

    安装环境:windowsXP 32

    一、准备工作-下载所需软件

    • Apache  httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
    • PHP       php-5.3.10-Win32-VC9-x86.zip
    • MySQL   mysql-5.5.28-win32.zip

     (下载php网站:http://tool.php100.com/)

    二、安装软件

    1、安装Apache

    注意:Apache服务器的默认是80端口

    双击安装,与安装其他Windows软件没有什么区别,在填Server Infomation时,并没有特殊规定,只要输入的信息符合格式即可。

    服务器信息可以按照默认配置,如果服务器的80端口没被其他服务器程序占据。可选“for All Users,on Port 80, as a Service—Recommended.”如果仅为当前用户使用,使用8080端口,手动启动,选择“only for the Current User, on Port 8080, when started Manually.”。端口号是可以通过配置文件进行修改的。

    安装完成之后出现apache服务管理器,如下图,点击第一个图标

    (注意:安装完apache后并没有启动此服务

    服务管理列表中有现在可以启动的服务项目,点击“Start”

    在浏览器输入http://localhost,如果显示It Works!,表示Apache安装成功。

    2、安装php

    将php-5.3.10-Win32-VC9-x86.zip解压到一个目录即可,本例我放置到了D:php文件夹下。

    3、安装MySQL

    双击安装,如果需要更改安装目录,则在Choose Setup Type选择Custom

    此处选择用户自定义配置

    可以更改mysql的安装目录位置,此处保持默认。

    完成后勾选”Launch the MySql instance Configuration Wizard”进行MySql的配置。

    安装完成后开始配置MySQL,全部保持默认选项即可,但最好把MySQL默认编码改为utf8,在Modify Security Settings选项中设置密码,输入两次密码即可完成,最后点Execute完成配置。

    选择配置方式:“Detailed Configuration(手动精确配置)”、”Standard Configuration(标准配置)”,选择“Detailed Configuration”,

    选择服务器类型,“Developer Machine(开发测试类,mysql占用很少资源)”、“Server Machine(服务器类型,mysql占用较多资源)”、“Dedicated MySQL Server Machine(专门的数据库服务器,mysql占用所有可用资源)”,一般选择“Server Machine”。 可根据实际情况进行选择。本例使用开发测试类型滴。

    选择mysql数据库的大致用途,“Multifunctional Database(通用多功能型,好)”、“Transactional Database Only(服务器类型,专注于事务处理,一般)”、“Non-Transactional Database Only(非事务处理型,较简单,主要做一些监控,记数用,对MySAM数据类型的支持仅限于non-transactional)”,选择“Transactional Database Only”,本例选择的是通用多功能型。

    对InnoDB Tablespace进行配置,就是为InnoDB数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了。使用默认位置。

    选择网站的一半mysql访问量,同时连接的数目,“Decision Support(DSS)/OLAP(20个左右)”、“Online Transaction Processing(OLTP)(500个左右)”、“Manual Setting(手动设置,自己输一个数)”,选择“Online Transaction Processing(OLTP)”。本例选择第一项,由于只在本机做开发测试工作。

    是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库,选择“Enable TCP/IP Networking”是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库,选择“Enable TCP/IP Networking”。

    设置数据库语言编码,“Standard Character Set”为西文编码、“Best Support For Multilingualism”为RTF-8编码、“Manual Selected Default Character Set/Collation”为手动设置编码,utf8

    ”Install As Windows Service”选择安装MySql服务,可自定义服务的名称。

    “Include Bin Directory in Windows PATH”是在机器上添加MySql的环境变量。

    选择“Modify Security Settings”,可根据实际要求勾选上“Enable root access from remote machines”以便能够从其他机器上访问。

    完成配置后点击“Execute”执行配置即可。

    MySQL安装完成了。

    测试MySQL安装是否成功:

    三、整合Apache+PHP+MySQL

    Apache : 首先修改Apache的配置文件,让Apache支持解析PHP文件。Apache配置文件在Apache安装目录的conf目录下的httpd.conf

    1. 让Apache可以解析php文件,在配置文件中找到

    #LoadModule vhost_alias_module modules/mod_vhost_alias.so

    在下一行添加 (绿色的位置是根据PHP的所在目录而定的)

    LoadModule php5_module "D:/php/php5apache2_2.dll"
    PHPIniDir "D:/php"
    AddType application/x-httpd-php .php .html .htm

    2. 在配置文件中找到

      DirectoryIndex index.html

    改为

      DirectoryIndex index.php index.html

    3. 修改Apache站点目录,在配置文件中找到(Apache安装的目录不同,显示的值不一样)

      #DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"

    改为

      DocumentRoot "D:/php"

    再找到

      #<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">

    改为

      <Directory "D:/php">  

    PHP : 把php.ini-development改名为php.ini,作为PHP的配置文件。修改php.ini

    1. 设置PHP扩展包的具体目录,找到

    ; On windows:
    ; extension_dir = "ext"

    改为 (值是ext文件夹的目录)

    ; On windows:
    extension_dir = "D:/php/ext"

    2. 开启相应的库功能,找到需要开启的库的所在行

    ;extension=php_curl.dll

    ;extension=php_gd2.dll

    ;extension=php_mbstring.dll

    ;extension=php_mysql.dll

    ;extension=php_xmlrpc.dll

    去掉前面的分号(注释),即改为

    extension=php_curl.dll

    extension=php_gd2.dll

    extension=php_mbstring.dll

    extension=php_mysql.dll

    extension=php_xmlrpc.dll

          

    3. 设置时区,找到

    ;date.timezone =

     改为

    date.timezone = Asia/Shanghai

    四、验证安装是否成功

    配置完成,检测一下配置是否成功。有两种方法可以验证。

    第一种:重启Apache,在站点目录下新建文件index.php,输入内容:

    <?php
        phpinfo();
    ?>

    打开浏览器输入http://localhost,显示如下内容,则安装成功,并且成功关联MySQL。

    第二种:在Web根目录下(如 D:website)建立testdb.php文件内容如下:

    <?php   
    $link=mysql_connect('localhost','root','123456');   
    if(!$link) echo "fail";  
    else echo "success";  
    mysql_close();  
    ?>

    注意更改连接数据库的地址和root的密码。

    用浏览器打开http://localhost/testdb.php 如果输出success就表示PHP、mysql 和apache合作愉快了。

    五、安装过程中遇到的问题

    1、地址栏输入http://localhost,显示的IIS页面

    原因:IIS与apache默认端口号一样,都是80

    解决方法一:把IIS服务停止

    解决方法二:修改Apache端口号

    2、地址栏中输入http://localhost,提示域名解析错误

    原因:安装后的apache并未启动

    解决方法:启动后即可正常访问。

    3、启动Apache时报错the requested operation has failed

    原因一:80端口占用
    例如IIS,另外就是迅雷。我的apache服务器就是被迅雷害得无法启用!

    Windows平台查看谁占用了我们的80端口方法:
    在windows命令行窗口下执行:
    C:>netstat -aon|findstr "80" 
    TCP     127.0.0.1:80         0.0.0.0:0               LISTENING       2448
    看到了吗,端口被进程号为2448的进程占用,继续执行下面命令:
    C:>tasklist|findstr "2448" 
    thread.exe                     2016 Console                 0     16,064 K
    很清楚吧,thread占用了你的端口,Kill it
    如果第二步查不到,那就开任务管理器,看哪个进程是2448,然后杀之即可。
    
    如果需要查看其他端口。把 80 改掉即可

    原因二:软件冲突
    装了某些软件会使apache无法启动如Dr.com 你打开网络连接->TcpIp属性->高级->WINS标签 把netbios的lmhosts对勾去掉,禁用tcp/ip的netbios. 然后再启动应该就可以了。

    原因三:httpd.conf配置错误
    如果apache的配置文件httpd.conf搞错了,在windows里启动它,会提示the requested operation has failed ,这是比较郁闷的事,因为查错要看个半天。
    其实可以用命令行模式启动apache,并带上参数,apache会提示你哪句有误,然后就可以针对性的解决,命令如下: httpd.exe -w -n "Apache2" -k start

    还有一种情况
    即使你这次启动了,下次你都有可能启动失败
    在运行里输入:netsh winsock reset
    一会儿cmd会提示你重启,不用理会,现在APACHE已经可以启动了。
    其实就是一个winsock的修复 

    4、如果你Apache安装后服务管理列表中没有出现apache的服务项就说明在安装过程中出现了错误,这时候可以手动进行安装。

    解决方法:使用cmd进入C:Program FilesApache Software FoundationApache2.2in这是我本机安装的目录, 并执行httpd -k install命令,提示成功后即可在服务管理列表中看到apache服务。

    5、httpd.conf的配置时,若php目录下无php5apache2_2.dll,一定是下载的版本不对

    6、MySQL安装有问题,需要重装,重装时变成无反应,装不了

    解决方法:可参考http://www.cnblogs.com/yangxia-test/p/4414397.html

    7、启动Apache时,提示php startup

    解决思路:cmd命令中,输入httpd.exe -w -n "Apache2" -k start ,查看Apache日志,显示以下错

    apache虽然能运行,但是看见error.log中有httpd.exe: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName这个错误

    解决方法:因为DNS没配置好. 如果不想配置DNS, 就在httpd.conf , 在最前加入 ServerName localhost:80 即可.

  • 相关阅读:
    Java中的isEmpty方法、null以及""的区别
    解决java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
    Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别
    MYSQL中的COLLATE是什么?
    linux数据库与图片备份
    pymysql报错:cryptography is required for sha256_password or caching_sha2_password
    mysql8.0无法给用户授权或提示You are not allowed to create a user with GRANT的问题
    rpm安装软件时提示warning: *.rpm: Header V3 RSA/SHA256 Signature, keykey ID c105b9de:
    'COULD NOT FIND FIRST LOG FILE NAME IN BINARY LOG INDEX FILE'的解决办法
    IDEA警告:SQL dialect is not configured
  • 原文地址:https://www.cnblogs.com/yangxia-test/p/4414161.html
Copyright © 2020-2023  润新知