PHP 5.3.2在Windows上升级

我有一个运行Windows XP,Apache 2.2.15 Mysql和PHP 5.2.6的开发盒

大约一个月前,我更新了Apache的最新版本,并顺利进行。 升级PHP到最新版本,我没有同样的成功。

我备份了我的PHP目录,然后删除它。 使用Windows Installer for PHP 5.3.2,安装为Apache 2.2.X模块。 我可以得到“Hello World”和phpinfo(),但无法连接到mysql。 我有php.ini中未注释的扩展名,因为我没有更改PHP的目录,所以不应该触及Apache httpd.conf文件。

不知道我在这里做错了什么。 我必须得到这个权利,然后升级实时服务器,所以我想得到这个下拍。

我试图在网上使用安装指南,但没有运气。 任何有关这个问题的信息将是伟大的。 我也担心其他的PHP模块可能无法加载,但不能真正告诉任何过去的MySQL不工作。

这是什么出现在phpinfo()

mysqlnd mysqlnd enabled Version mysqlnd 5.0.7-dev - 091210 - $Revision: 294543 $ Compression supported Command buffer size 4096 Read buffer size 32768 Read timeout 31536000 Collecting statistics Yes Collecting memory statistics No 

我不知道如何启用mysql,mysqli等,虽然他们似乎被安装。

由于你得到了错误Fatal error: Call to undefined function mysql_connect() ,这意味着PHP扩展没有被加载。 这是在你的php.ini文件中configuration的。

要find你的php.ini文件的位置,创build一个php文件,并在其中粘贴以下内容。
<?php phpinfo(); ?>

在页面(靠近顶部),您将有一个标记为加载configuration文件的条目。 检查这个已经加载的文件实际上是你期望加载的文件。 就我个人而言,我从C:/php/php.ini ,但是如果我在初始设置完成时正确记得,它正试图从C:/Windows/php.ini (它不存在)读取所有事情都使用了默认设置,这些默认设置并不包括我想要的一些额外的模块。

用你最喜欢的文本编辑器打开该文件,应该有几行开始extension=xxxxx.dll

查看模块列表并检查是否列出了extension=php_mysql.dll ,并且该行的第一个字符不是分号( ; )。 如果未列出,只需将其添加到列表中,如果在行首有分号,请删除分号并保存该文件。

您还应该检查extension_dir的值,并validation该path是否存在于文件系统中。 这应该类似于c:/php/ext

一旦您对php.ini文件进行了更改,您将需要重新启动Apache,以便重新读取configuration文件。

重新启动Apache之后,请刷新phpinfo页面并检查是否包含针对MySQL列出的部分。

您可能还想检查C:\php是否包含在您的PATH环境variables中。

如果仍然有问题,请尝试启动一个命令行,然后cd到C:\ php并inputphp -v 。 这将输出PHP版本,但通常会加载比加载网页时显示更多的错误信息