我有一个运行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版本,但通常会加载比加载网页时显示更多的错误信息