【问题标题】:Fatal error: Call to undefined function mysql_connect() cannot solve致命错误:调用未定义函数 mysql_connect() 无法解决
【发布时间】:2012-08-26 15:02:44
【问题描述】:

我已经在 Google 中搜索了这个错误并尝试了我找到的所有内容,但仍然无法正常工作。 我已经在我的 php.ini 中设置了

extension_dir ="C:\php\ext\"

未注释

extension=php_mysql.dll
extension=php_mysqli.dll

这些文件存在于扩展路径中,我重新启动了 Apache。 但是 phpinfo();仍然没有显示任何关于 MySQL 的信息。那么您对加载这些模块有什么建议吗?

注意:我使用的是 Windows 7(64 位)、MySQL 5.5、Apache 2.0.49 和 PHP 5.3.16

【问题讨论】:

  • 您是否编辑了正确的 php.ini?查看phpinfo() 以查看实际用于 php.ini 的文件路径...
  • mysql_* 函数已被弃用,如果您正在开发新的东西,您应该使用 mysqli_* 函数,或者更好的是 PDO。
  • 如果我记得正确的 phpinfo 会告诉你哪些配置文件被解析了。这可能会给你一个额外的提示。
  • 是的,迈克尔,我确定我在正确的文件中。不过谢谢。
  • Arjan,我试过了,mysqli也出现同样的错误。

标签: php mysql apache dll


【解决方案1】:

最后,我解决了同样的问题,所以,这是我的解决方案。我猜该行中的最后一个斜杠

extension_dir ="C:\php\ext\

可能会造成麻烦。就这样吧

extension_dir ="C:\php\ext

此外,尝试通过以下方式解决问题:

*我的电脑运行的是 Windows 7 (Apache 2.2 & PHP 5.2.17 & MySQL 5.0.51a),文件“httpd.conf”中的语法 (C:\Program Files (x86)\Apache Software Foundation\Apache2 .2\conf\httpd.conf) 对斜杠很敏感。 您可以检查是否从正确的目录中读取了“php.ini”。只需在浏览器中输入“localhost/index.php”。 index.php 的代码如下: <?php echo phpinfo(); ?> 有一行(离顶部不远)称为“加载的配置文件”。因此,如果没有添加任何内容,那么问题可能是您的“php.ini”未被读取,即使您未注释(extension=php_mysql.dll 和 extension=php_mysqli.dll)。所以,为了让它工作,我做了以下步骤。我需要改变

PHPIniDir 'c:\PHP\'

PHPIniDir 'c:\PHP'

注意最后一个斜线扰乱了一切!

现在“加载的配置文件”行在刷新“localhost/index.php”(在我重新启动 Apache2.2 之前)后得到“C:\PHP\php.ini”,并且 mysql 块在那里。 MySQL 和 PHP 正在协同工作!*

【讨论】:

  • 我遇到了完全相同的问题,我找到了 2 个解决方案:首先,当我将 php.ini 文件移动到 C:\Windows 文件夹时它起作用了,该文件夹是 php.exe 查找其配置文件而不是同一个文件夹。或者,第二,当我将 PHPIniDir "E:/PathTo/php56" 放入 httpd.conf 文件时,它起作用了。
【解决方案2】:

我遇到了和你一样的问题。我(字面上)在 2 分钟前解决了它。

我在 Win 7 上运行 Apache 2.4 64 位。

我下载的php版本给了我两个php.ini文件:

1)php.ini-生产和 2)php.ini-开发

我以为那都是肉汁,每次我对其中一个进行更改时,我都会对另一个进行完全相同的操作。

当我第一次遇到问题时,我加载了 index.php(在我的本地服务器上)并查看了从顶部开始的第六个框,称为“加载的配置文件”。简单地说“没什么”。

然后我引用了this 页面并发现了 PHP(一旦开始)是如何寻找 php.ini 文件的。我尝试将开发和生产(上面引用)文件都放在上面链接指定的所有目录中。什么都没有。

然后我想,到底有什么值得一试的,并将 php.ini-production 更改为“php.ini”。

巴姆。它开始工作了。如此简单的修复,但我认为 Apache 无法找到“php.ini”的原因是有道理的。该文件不存在逐字记录。

我真的希望这会有所帮助,遇到这个问题肯定很糟糕。

如果其中任何内容看起来很傲慢,我很抱歉,因为它太简单了。我总是从这个站点进行故障排除,许多答案需要的不仅仅是对一个主题的基本理解,而且由于这似乎是初学者会遇到的问题(和解决方案),我想我会以某种方式把它拼出来我会在 6 个月前欣赏的。

【讨论】:

    猜你喜欢
    • 2012-05-23
    • 1970-01-01
    • 2016-11-21
    • 2011-10-04
    • 2016-08-07
    • 2016-04-07
    相关资源
    最近更新 更多