PHP开发环境配置

早就想学学php,上次鑫哥帮我配的环境,学了几天。。。这次自己配了一下,第一次配还是遇到不少麻烦,感谢网友的经验帮我解决了不少问题,以下内容在转载的基础上根据我的配置进行了部分改动。

[quote]PHP5+APACHE2.2配置成功案例:

操作系统:Windows XP SP3

Apache版本:2.2 (安装在E:\Apache Software Foundation\Apache2.2)
PHP版本:5.2.6 (安装在E:\php5 我用的是解压版的)
MySQL版本:5.0 (安装在C:\Program Files\MySQL\MySQL Server 5.0)

软件的安装很简单,按提示一步一步操作,一般不会出什么问题,这里略过,主要讲一下如何配置。软件安装成功后,在IE地址栏中输入http://localhost测试应该会看到“It works!”,说明Apache安装是成功的。你应该根据你的安装路径做相应的修改。
注意:我当时ip地址设错了,端口直接用的80 结果服务器启动失败,将ip地址改成本机地址端口换成9000后服务器成功启动。

(1)httpd.conf配置
打开httpd.conf,找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so,在它的后面添加以下内容:
LoadModule php5_module "E:/php5/php5apache2_2.dll"(之前我下的php5.1 弄半天都报错,后来才知道是版本问题。。汗~)
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
PHPIniDir "E:/php5"(这个是php.ini文件的地址,之前我按其他文章说的放到window下,这里还是设成E盘,结果那些dll总是总不到,仔细看了这篇文章才明白~)

找到DocumentRoot "E:/Apache2.2/htdocs",修改成Web文件的存放路径,如我的Web文件存放在E:/www目录下,就修改成:
DocumentRoot "E:/www"

找到,修改成Web文件的存放路径,跟上面的路径相同,修改成:


找到DirectoryIndex index.html,添加index.php index.htm (文件名之间空格分开):
DirectoryIndex index.html index.php index.htm

(2)php.ini配置


在PHP的安装目录下有php.ini-dist(默认配置)和php.ini-recommended(推荐配置)两个预置的配置文件,它们之间的区别是:推荐配置在安全性方面有所加强。根据需要选择,初始配置时最好选择php.ini-dist(因为它是默认的*^_^*),复制并将其重命名为php.ini,就放在PHP的安装目录。(注意:php.ini-recommended中的short_open_tag是关闭的,这意味着标签中的内容是不能被解析的,这种情况下查看PHP网页的源文件,看到的内容会跟你的源代码是一样的,正确的方法是使用,也推荐大家使用此标签。)

打开php.ini,找到extension_dir = "./",修改成:
extension_dir = "E:/php5/ext"

找到;extension=php_mysql.dll,把;去掉:
extension=php_mysql.dll

(3)libmysql.dll
将PHP目录下的libmysql.dll复制到%SystemRoot%/System32/目录中。用MySQL的bin目录中的libmysql.dll也行。(我将php5下所有dll都拷贝到system32下了)

(4)测试与mysql之间的连接

在根目录新建一个文本文件命名为mysql_test.php在其中输入以下内容:


$link=mysql_connect('xx.xx.xx.xx','root','admin'); 
if(!$link) echo "数据库连接失败!";
else echo "数据库连接成功!";
mysql_close();
?>


如果出现数据库连接成功!,表示PHP与mysql之间的连接时没问题的!

注意:
1.[color=red][/color]由于我安装的Apache版本是2.2,所以LoadModule语句应选择php5apache2_2.dll,否则会出现错误“The request operation has failed!”。网上很多相关文章中的Apache版本都2.0.XX的,他们选用的模块都是php5apache2.dll,不能够照搬,应该根据实际使用的Apache版本来选择该使用哪个dll文件。

2.[color=red]PHPIniDir非常重要[/color],其实PHPIniDir就是设置“php.ini”配置文件的路径,在httpd.conf中配置PHPIniDir,或者在注册表中设置,或者设置PHPRC环境变量,或者直接复制php.ini到%SystemRoot%目录中都是可行的。php.ini是按“httpd.conf中PHPIniDir指定的路径->HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows注册表位置)->PHPRC环境变量->当前工作目录(对于CLI)->%SystemRoot%目录”的顺序来搜索的。一个好的办法是用phpinfo()来检查php.ini文件的路径是否配置正确,看“Configuration File (php.ini) Path”和“Loaded Configuration File ”。如果配置不正确或没有配置“Loaded Configuration File”将显示“none” ,如果没有配置PHPIniDir,则按默认的设置加载,该方法是新建一个php文件,文件内容如下:

phpinfo()
?>


在浏览器中直接访问该文件,就会打印出详细信息!

3.有些文章中说配置中牵涉到路径时该用“/”或“\”的问题,我测试好象并无问题,正反斜杠都没问题,不知道在低版本或Linux中是否也一样。

4.不要忘了配置php.ini文件中的extension_dir和去掉;extension=php_mysql.dll前面的分号。

5.错误“Fatal error: Call to undefined function mysql_connect() in XX on line YY”的大概意思是“致命错误:在XX文件YY行调用了未定义的函数mysql_connect()”,很显然是没有加载libmysql.dll引起的,跟php.ini文件的配置密切相关的,如果找不到libmysql.dll也会导致此错误(换句话说,就是libmysql.dll放的位置有问题。看(3)中说明)。


6.解决Apache2+PHP上传文件大小限制的问题
开始的时候知道要改php.ini,基本是改这几项:

max_execution_time = 30
max_input_time = 60
memory_limit = 8M
upload_max_filesize=8m

但改好后发现上传的文件还是不能超过512k,否则页面就出错,非常的郁闷。无论如何调大上面几项的参数都没有作用,然后又检查了httpd.conf文件,从头看了一遍还是没有发现问题。在退出conf目录的时候,偶然发现有conf.d目录,ls了一下竟看到有个php.conf。呵呵,vi php.conf发现内容如下:

#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#

LoadModule php4_module modules/libphp4.so

AddType application/x-httpd-php php .php3

#
# Cause the PHP interpreter handle files with a .php extension.
#

SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 524288


#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php


看到那个524288吗,换算下就是512k。把它改成52428800,reload apache。经测试,可以上传几十兆的文件,问题解决。看来我对apache+php的配置了解还是不够全面,以后还要多多学习!


7.以上仅是个人之见,要想获得更多的信息,请访问他们的官方网站。[/quote]


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yangdaliang/archive/2009/08/25/4483347.aspx

你可能感兴趣的:(PHP,PHP,MySQL,Apache,软件测试,XP)