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.2\conf里的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 Files\MySQL\MySQL Server 5.1\my.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: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3
其实网上很多教程说了一大堆,但是都没有说到点子上,出现这个问题最大的可能性就是,您没有安装VC11运行库,因为现在所有的5.5环境都是基于 vc11的编译脚本下生成的,所以在windows下你得安装相关组件msvcr110.dll,否则你双击php.exe测试的时候会报错,如果出现以下提示,那么恭喜您,问题原因找到了:
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。
WAMP环境搭建过程中遇到的种种问题的更多相关文章
- kakfa源代码开发环境搭建过程中的错误处理
在window上搭建kafka的源代码开发环境,主要参考如下的blog: http://www.bubuko.com/infodetail-695974.html << Window ...
- ant design环境搭建过程中遇到的问题--Windows-dva-cli
基础的此处略去,nodejs和npm是前提. 1.官网介绍的是脚手架工具是antd-init,但是又建议真实项目中用dva-cli,所以博主就直接装的是dva-cli,这里主要是简单介绍下博主在Win ...
- Solr环境搭建过程中遇到的问题
Solr下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/6.3.0 Solr搭建步骤转自:http://blog.csdn.net/wbcg ...
- cocos2d-x3.9 NDK android 环境搭建过程中遇到的错误
编译环境:Mac OS, NDK r9d 错误:arm-linux-androideabi-gcc: error trying to exec '/media/Project/adt-bundle-l ...
- vue环境搭建过程中,遇到的坑爹的问题
1,在配置package.json下载node依赖包时,执行$cnpm install过程中,这个过程是比较漫长的,尤其的这种core i5配置的电脑,简直有点卡的人怀疑人生,后来动了下有消息输出,我 ...
- Informatica环境搭建过程中一些问题-近期项目进了新人,在搭建环境中存在一些问题,之前都处理过一直没有整理,这次接着机会,把这些常见问题处理整理出来
一.Informatica9.5.1创建资源库出错找不到libpmora8.so 错误如下: Database driver event...Error occurred loading librar ...
- Hadoop环境搭建过程中遇到的问题以及解决方法
1.启动hadoop之前,ssh免密登录slave主机正常,使用命令start-all.sh启动hadoop时,需要输入slave主机的密码,说明ssh文件权限有问题,需要执行以下操作: 1)进入.s ...
- 【甘道夫】HBase开发环境搭建过程中可能遇到的异常:No FileSystem for scheme: hdfs
异常: 2014-02-24 12:15:48,507 WARN [Thread-2] util.DynamicClassLoader (DynamicClassLoader.java:<in ...
- Appium环境搭建过程中遇到的问题及解决办法
一.[Error: Could not detect Mac OS X Version from sw_vers output: '10.12.6'] 解决办法: 1.vi /Applications ...
随机推荐
- 递归演示程序(swift)
//: Playground - noun: a place where people can play import UIKit var str = "Hello, playground& ...
- Xpath语法学习
贴几个我学习Xpath的参考 1 基本使用的参考 XPath学习:基本语法(一) 2 较为详细且清晰例子参考,推荐 XPath 详解,总结 3 详细语法参考 Xpath语法格式整理 4 官方参考 XP ...
- 流API--提取流+组合流
提取子流和组合流 1,limit(n)会返回一个包含n个元素的新流,如果原始流的长度小于n,则会返回原始的流.这个方法可用来裁剪指定长度的流. 2,skip(n)正好相反,它会丢弃掉前面的n个元素. ...
- rpc-远程调用框架
简单框架编写 http://blog.csdn.net/u013177446/article/details/67638021 netty解决拆包粘包问题 http://www.cnblogs.com ...
- maven(项目管理工具系列 maven 总结二)
♣maven是什么? ♣maven下载.安装 ♣了解maven仓库 ♣eclipse配置maven ♣创建maven项目 ♣把maven项目转化为web项目 1.maven是什么? Maven是一个项 ...
- HashiCorp Vault介绍
HashiCorp Vault是一款企业级私密信息管理工具.说起Vault,不得不提它的创造者HashiCorp公司.HashiCorp是一家专注于DevOps工具链的公司,其旗下明星级产品包括Vag ...
- java枚举 用于声明持久化常量 和volley 请求头
在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. public e ...
- HTML5 拖放(Drag 和 Drop)详解与实例
简介 拖放是一种常见的特性,即抓取对象以后拖到另一个位置. 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放. 先点击一个小例子:在用户开始拖动 <p> 元素时执行 JavaSc ...
- sed,n,N,d,D,p,P,h,H,g,G,x,解析
原文地址 这篇文章主要是我参考命令的,直接复制粘贴,有问题请拍砖 A. sed执行模板=sed '模式{命令1;命令2}' 即逐行读入模式空间,执行命令,最后输出打印出来 B. p打印当前模式空间所有 ...
- 【ASP.NET Core】MVC中自定义视图的查找位置
.NET Core 的内容处处可见,刷爆全球各大社区,所以,老周相信各位大伙伴已经看得不少了,故而,老周不考虑一个个知识点地去写,那样会成为年度最大的屁话,何况官方文档也很详尽.老周主要扯一下大伙伴们 ...