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。