zoukankan      html  css  js  c++  java
  • WAMP环境搭建过程中遇到的种种问题

    1,可以选择已经打包好的继承安装包,通常包含apache,mysql,PHP,phpMyadmin。如appserv和wamp。

    2,自己分别安装。

       第一步:安装mysql,注意设置root对应的密码。

       第二部:安装apache,可以采用msi的安装包

       第三步:在Windows 7、8下安装PHP
    PHP安装非常简单,由于我下的是PHP代码包,只要解压php-5.4.17-Win32-VC9-x86并重名为文件夹为php,将其复制到C盘目录下即可完成PHP安装。

    第四步:在Windows 7下如何进行PHP配置环境
    将php.ini-development配置文件重命名为php.ini配置文件,接着做如下配置操作:
    1、打开php.ini配置文件,找到
    ;On windows下面的
    ;extension_dir = "ext"
    修改为:
    extension_dir = "C:/php/ext"
    注意前面的;去掉。
    表示指定PHP扩展包的具体目录,以便调用相应的DLL文件。
    2、由于默认PHP并不支持自动连接Mysql,需开启相应的扩展库功能,比如php_mysql.dll等,即将
    extension=php_curl.dll
    extension=php_gd2.dll
    extension=php_mbstring.dll
    extension=php_mysql.dll
    extension=php_pdo_mysql.dll
    extension=php_pdo_odbc.dll
    extension=php_xmlrpc.dll
    这些extension前面的分号; 去掉。(;代表注释掉的意思)
    3、配置PHP的Session功能(要是用不到可以暂时不配置)
    在使用session功能时,我们必须配置session文件在服务器上的保存目录,否则无法使用session,我们需要在Windows 7、8上新建一个可读写的目录文件夹,此目录最好独立于WEB主程序目录之外,此处我在D盘根目录上建立了phpsessiontmp目录,然后在php.ini配置文件中找到:
    ;session.save_path = "/tmp"
    修改为:
    session.save_path = "D:/phpsessiontmp"(前面的;去掉)
    4、配置PHP的文件上传功能
    同session一样,在使用PHP文件上传功能时,我们必须要指定一个临时文件夹以完成文件上传功能,否则文件上传功能会失败,我们仍然需要在Windows 7、8上建立一个可读写的目录文件夹,此处我在D盘根目录上建立了phpfileuploadtmp目录,然后在php.ini配置文件中找到
    ;upload_tmp_dir =
    修改为
    upload_tmp_dir = "D:/phpfileuploadtmp"
    5、修改date.timezone,否则在执行phpinfo时date部分会报错:Warning: phpinfo()[function.phpinfo]…
    将;date.timezone =修改为date.timezone = Asia/Shanghai
    至此在Windows 7、8上php的环境配置就算完成了,但是光完成这些配置是不够的,我们需要Apache支持PHP,所以还需要在Apache配置文件中完成相应的PHP配置。

    第五步:配置Apache以支持PHP
    在Apache的安装目录下找到Apache2.2conf里的httpd.conf
    1. #LoadModule vhost_alias_module modules/mod_vhost_alias.so下添加
    LoadModule php5_module "c:/php/php5apache2_2.dll"
    PHPIniDir "c:/php/php.ini"
    AddType application/x-httpd-php .php .html .htm
    (注意代码直接复制可能导致编码错误,请自己纠正或是自己手动敲入)
    我们在PHP目录下可以看到多个php5apache的DLL文件,由于我们使用的是Apache2.2.15,所以我们当然需要使用php5apache2_2.dll,接着指定PHP的安装目录以及执行的程序扩展名。
    2.我们应该知道默认Apache服务器执行WEB主程序的目录为Apache2.2/htdocs,所以当你的WEB主程序目录变更时,我们需要修改相应的Apache配置,即将
    DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
    修改为:
    DocumentRoot "D:/PHPWeb"(如果你编写的代码放在这个目录下的话!)

    <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
    修改为:
    <Directory "D:/PHPWeb">
    3.最后修改具体的index文件先后顺序,由于配置了PHP功能,当然需要index.php优先执行
    DirectoryIndex index.html
    修改为:
    DirectoryIndex index.php index.html
    4.重启Apache服务器
    至此,在Apache服务器上PHP环境配置工作就完成了,你只需要在D:/PHPWeb目录下新建一个PHP文件如text.php,写入
    <?php
             phpinfo();
    ?>

    然后在游览器中输入http://localhost/text.php,就可以看到PHP的具体配置页面了,代表在Window 7、8上PHP环境配置工作就算完成了。
    在完成Windows 7、8上的PHP环境配置工作后,我们需要完成PHP环境搭建的最后一步,即支持Mysql数据库。

    第六步:配置Mysql服务器。
    Mysql数据库的配置文件保存在C:Program FilesMySQLMySQL Server 5.1my.ini,如果今后有什么变动,你可以修改此文件。
    Php5默认MySQL是关闭的,要将php文件夹下的libenchant_myspell.dll和ext文件夹里的php_mysql.dll考到C:/Windows/System32里面;在php.ini中找到;extension=php_mysql把前面的;去掉。重启Apache就可以了。
    如果没有上面的配置你就会发现下面的测试会出现
    Call to undefined function 'mysql_connect()'这样的错误。

    注意:本文章里的代码在复制出的时候有可能会导致编码问题,所以为了避免出错,请自己按照代码输入,而不要直接Copy!

    配置完了重启服务器,可能出现服务器启动不起来的情况。

    一.原因1:

    我们在安装好Apache服务器,一开始正常,但安装PHP配置完成之后,再次启动apache的时候出现了错误 the requested operation has failed;

    Apache服务无法启动,查看Apache错误日志,有类似下面这些内容:

    httpd.exe: Syntax error on line 72 of D:/Apache Software Foundation/Apache2.4/conf/httpd.conf: Cannot load D:/php/php5apache2_4.dll into server: xd5xd2xb2xbbxb5xbdxd6xb8xb6xa8xb5xc4xc4xa3xbfxe9xa1xa3  

    其实网上很多教程说了一大堆,但是都没有说到点子上,出现这个问题最大的可能性就是,您没有安装VC11运行库,因为现在所有的5.5环境都是基于 vc11的编译脚本下生成的,所以在windows下你得安装相关组件msvcr110.dll,否则你双击php.exe测试的时候会报错,如果出现以下提示,那么恭喜您,问题原因找到了:

    二.原因2:
    1.php 5.5 开始就不支持windows2003了;
    1.开始想了好久,1直没发现错误,后面猛然发现我的apache的版本是2.2,PHP的版本是5.5,PHP5.5不支持apache2.2了,所以只有php5apache2_4.dll,于是又去下载了个PHP5.4,里边包含了php5apache2_2.dll,在httpd.conf中添加:LoadModule php5_module "D:/php-5.4.23-Win32-VC9-x86/php5apache2_2.dll",问题解决;

    如果Apache/PHP还无法启动,那最可能是php5_module模块的问题:

    1.Apache2.0对应的PHP模块为php5apache2.dll;
    2.Apache2.2对应的PHP模块为php5apache2_2.dll;
    3.Apache2.4对应的PHP模块为php5apache2_4.dll;

    换句话说,根据php5_module模块,可以知道当前版本php支持哪种Apache

    所以,Apache/PHP的搭配有以下几种情况:

    1.php5.2支持Apache2.0和Apache2.2;
    2.php5.3、php5.4同时支持Apache2.2和Apache2.4;
    3.php5.5只支持Apache2.4;

    除非你自己手动编译php5_module模块,否则只能有以上3种选择;

    如果Apache/PHP还是无法启动,检查php配置(php.ini)是否存在,运行php.exe有没有提示错误。根据错误提示,纠正错误;

    如果到这一步,还是有问题,建议先用集成的软件吧,效果一样的,这种的分散的安装方法可以让你更加了解原理,组合更加灵活,但是集成的软件包又何尝不是一个很好的选择。
    至此Mysql数据库的配置就算完成了,为了验证PHP是否能连接Mysql,你可以在index.php中创建如下代码:
    <?php
            echo "Hello World!<br>";
            $connect = mysql_connect("127.0.0.1","root","123456");

            if(!$connect)
                    echo"Mysql Connect Error";
            else echo"欢迎访问";

            mysql_close();
    ?>

    然后在游览器中输入http://localhost/,看到:欢迎访问 字样就说明PHP连接Mysql就算成功了。
    注意:在php编码的时候可能会出现汉字的乱码问题,这时你可以将你的php文件另存为,编码选择utf-8,替换之前的文件再试试看。

    如果提示要求安装optimizer,php 5.3及以下可以安装zend optimizer,php 5.3 以上要安装Zend Loader。

    如果以上都搞不定,建议使用phpstudy或者appserv,或者wamp server。phpstudy 5.2和5.3版本自带 optimizer ,降低php版本或在wamp上装多版本php。

  • 相关阅读:
    文件传输协议FTP
    过河问题 还是不会 去学请教一下 数学老师 -----
    ----堆栈 STL 函数库 ----有待补充
    UVa 101
    例题 5-1 STL
    课后题 3-3 水题
    第八届河南省省赛 A.挑战密室
    课后题--------求分子量-----Molar mass------
    课后题3-1
    ---------快排-----表排-----基数排序(桶排序)-----
  • 原文地址:https://www.cnblogs.com/peteremperor/p/6109805.html
Copyright © 2011-2022 走看看