Windows,NetBeans:php.ini在哪里?

4

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

设置

  • Windows 8 Pro 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 = "ext"
    • extension=php_mysqli.dll
  • 将E:\Software\php-5.4.8-Win32-VC9-x86 \ ext添加到项目属性中的NetBeans PHP包含路径中

仍然出现相同的错误

诊断输出

在页面顶部添加了一个调用 phpinfo()。那表明:

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

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

问题

当我运行我的项目时,NetBeans / PHP从哪里拉取配置,并如何编辑那个配置?


phpinfo()的输出应告诉您实际解析的哪个ini文件(或文件)。http://i.stack.imgur.com/IviVP.png - Mike B
@MikeB:不会。输出仅为C:\Windows - Eric J.
你重启了你的Web服务器吗? - AlexP
@AlexP:就是这样!(有点......我正在使用NetBeans内部Web服务器,必须重新启动NetBeans)。 - Eric J.
1
“downvoter”:根据FAQ中的内容,“最重要的是要诚实。如果您看到错误信息,请将其投票下降。添加评论以指出具体错误之处。提供更好的答案。最棒的是-编辑和改进现有的问题和答案!” - Eric J.
1
你们为什么要投票将这个问题迁移到Server Fault?那里不是它的主题,而且它已经有了一个被接受的答案。 - MDMarra
3个回答

1

重启Web服务器/NetBeans :-)


对于 PHP 配置,您无需重新启动 Netbeans。 - hakre

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 子目录中。

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

这似乎不是正在发生的事情。编辑一个php.ini文件并重新启动NetBeans导致了PHP配置的更改。我猜测NetBeans在幕后根据那个.ini文件对PHP进行配置,这仅仅是基于我的观察。 - Eric J.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接