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 ...
随机推荐
- 静态html制作之psd转html
很多时候我们开发拿到的是psd文件,这个时候如果公司有前端,会帮你制作成静态html, 很多小公司是没有这个配置的,所以只能业务开发的自己上马.可以有多种实现方式: 1.对于简单的切图,可以在线网站切 ...
- 了解JDK 6和JDK 7中substring的原理及区别
substring(int beginIndex, int endIndex)方法在jdk 6和jdk 7中的实现是不同的.了解他们的区别可以帮助你更好的使用他.为简单起见,后文中用substring ...
- DOS、Mac 和 Unix 文件格式[转]
DOS.Mac 和 Unix 文件格式 相信很多朋友都碰到过这三种文件格式的互换问题,今日又碰到这个问题,忽然想寻根问底,于是整理了本文档. 文件格式区别 我们先看看这三个家伙有啥区别.很久以前, ...
- linux常用命令_1
linux中命令格式是什么? 命令 [参数选项] [文件或路径] 中括号表示可选,命令的参数与路径文件可选 参数选择表示一个命令的不同功能 命令 和 参数选项 中必有一空格,多个参数连在一起写 几乎所 ...
- Java并发系列[1]----AbstractQueuedSynchronizer源码分析之概要分析
学习Java并发编程不得不去了解一下java.util.concurrent这个包,这个包下面有许多我们经常用到的并发工具类,例如:ReentrantLock, CountDownLatch, Cyc ...
- jdk源码->多线程->Thread
线程的创建 java提供了三种创建线程的方法: 通过继承 Thread 类本身: 通过实现 Runnable 接口: 通过 Callable 和 Future 创建线程. 继承Thread类 步骤: ...
- Sql Server的艺术(六) SQL 子查询,创建使用返回多行的子查询,子查询创建视图
子查询或内部查询或嵌套查询在另一个SQL查询的查询和嵌入式WHERE子句中. 子查询用于返回将被用于在主查询作为条件的数据,以进一步限制要检索的数据. 子查询可以在SELECT,INSERT,UPDA ...
- mysql SQL语法总结
mysql主键操作 删除表主键: alter table student drop primary key; 增加表主键: alter table student add primary key(id ...
- 关于int main( int argc, char *argv[] )
int main(int argc, char *argv[], char *env[]) 1. int argc 表示你在命令行下输入命令的时候,一共有多少个参数. 2. char *argv[] ...
- 《.NET 设计规范》第 4 章:类型设计规范
第 4 章:类型设计规范 4.1 类型和命名空间 要用命名空间把类型组织成一个由相关的功能区所构成的层次结构中. 避免非常深的命名空间层次.因为用户需要经常回找,所以这样的层次浏览起来很困难. 避免有 ...