4

我已经离开 PHP 很长一段时间了,所以希望这是一个简单的疏忽。但是,我无法包含 MySQL 扩展。

设置

  • Windows 8 专业版 64 位
  • NetBeans 7.2.1(内置 PHP Web 服务器)
  • MySQL
  • PHP 5.4.8

问题

致命错误:调用未定义函数 mysql_connect()

尝试解决

  • php.ini-development复制到php.ini(文件是我安装 PHP 的位置,E:\Software\php-5.4.8-Win32-VC9-x86)
  • 通过取消注释行来 编辑php.ini
    • extension_dir = "分机"
    • 扩展=php_mysqli.dll
  • 在项目属性中的 NetBeans PHP 包含路径中添加了 E:\Software\php-5.4.8-Win32-VC9-x86\ext

仍然失败并出现相同的错误

诊断输出

在页面顶部添加了对phpinfo()的调用。这表明:

配置文件 (php.ini) 路径C:\Windows

但是,C:\Windows 中没有php.ini。事实上,我搜索了所有磁盘,只找到了我之前编辑的一个php.ini文件。

问题

当我运行我的项目时,NetBeans / PHP 从哪里提取配置,如何编辑该配置?

4

3 回答 3

1

重新启动 Web 服务器/netbeans :-)

于 2012-10-25T21:04:16.847 回答
0

如果没有列出正在加载的 php.ini 文件,phpinfo()则没有。在这种情况下,PHP 将为所有内容使用默认值。任何需要被覆盖的东西都可以放在一个新的 php.ini 中,该文件位于phpinfo()被扫描的 ini 文件指定的位置之一。

于 2012-10-25T21:06:50.233 回答
0

根据您对php.ini所做的描述(摘录):

extension=php_mysqli.dll
                   ^

但是在您的问题中,您写道:

致命错误:调用未定义函数 mysql_connect()

这是一个不同的扩展,即在 Windows 上:

extension=php_mysql.dll

(没有i

可能这只是您在这里遗漏的一个小疏忽。那么你有两个选择:

  1. 将代码移植到mysqli_*函数(推荐用于新代码)
  2. 激活旧php_mysql.dll扩展(用于旧代码)

做适合你的需要。在 Windows 上,以下文件名(搜索您的磁盘)很有趣:

  • php.ini- 通常在您找到的目录中php.exe
  • php_mysql.dll- 通常在ext刚才所说的目录的子目录中。
于 2012-10-25T21:21:39.763 回答