Drupal、php.ini和调用未定义函数mysqli\u real\u escape\u字符串错误

Drupal、php.ini和调用未定义函数mysqli\u real\u escape\u字符串错误,drupal,iis,drupal-6,Drupal,Iis,Drupal 6,我有一个Drupal网站,godaddy上没有Windows IIS 我使用根目录级别的php.ini文件(从32M更改为64M)更改了php内存限制 但是,当我运行Drupal(在子文件夹中)时,会出现以下错误: Fatal error: Call to undefined function mysqli_real_escape_string() in D:\Hosting\3790877\html\fuzion\includes\database.mysqli.inc on line 330

我有一个Drupal网站,godaddy上没有Windows IIS

我使用根目录级别的php.ini文件(从32M更改为64M)更改了php内存限制

但是,当我运行Drupal(在子文件夹中)时,会出现以下错误:

Fatal error: Call to undefined function mysqli_real_escape_string() in D:\Hosting\3790877\html\fuzion\includes\database.mysqli.inc on line 330
如果删除php.ini文件,drupal将正常运行

有什么问题吗?
谢谢

检查您的php.ini中是否启用了mysqli扩展。您确实需要php5才能获得mysqli扩展,并且必须启用该扩展。该错误表示mysqli扩展未在php中启用

下面是需要检查的php.ini行-

extension=php_mysqli.dll

[MySQLi]

; Maximum number of links.  -1 means no limit.
mysqli.max_links = -1

; Default port number for mysqli_connect().  If unset, mysqli_connect() will use
; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
; compile-time value defined MYSQL_PORT (in that order).  Win32 will only look
; at MYSQL_PORT.
mysqli.default_port = 3306

; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysqli.default_socket =

; Default host for mysql_connect() (doesn't apply in safe mode).
mysqli.default_host =

; Default user for mysql_connect() (doesn't apply in safe mode).
mysqli.default_user =

; Default password for mysqli_connect() (doesn't apply in safe mode).
; Note that this is generally a *bad* idea to store passwords in this file.
; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
; and reveal this password!  And of course, any users with read access to this
; file will be able to reveal the password as well.
mysqli.default_pw =

; Allow or prevent reconnect
mysqli.reconnect = Off

[mSQL]
; Allow or prevent persistent links.
msql.allow_persistent = On

; Maximum number of persistent links.  -1 means no limit.
msql.max_persistent = -1

; Maximum number of links (persistent+non persistent).  -1 means no limit.
msql.max_links = -1
根据您的要求编辑它们


关于其他子目录中的主php.ini和php.ini的其他问题,请参阅和

检查php.ini中是否启用了mysqli扩展。您确实需要php5才能获得mysqli扩展,并且必须启用该扩展。该错误意味着中未启用mysqli扩展php@ayush很酷,谢谢。我已经安装了php5.2。目录级php.ini是否应该包含整个配置行?我想我只需要添加我想替换的行;其余的不是由php.ini主配置继承的吗?让我把所有这些都作为一个答案。使用php.ini设置行,您需要有。@ayush谢谢,我正在刷新页面:)谢谢,所以。。我只是想说清楚。如果我没有添加任何额外的php.ini文件,我就启用了mysql模块(phpinfo.php)。现在,我将把您在这里写的行添加到我的本地php5.ini文件中。然而,这听起来真的很奇怪,因为如果没有明确请求,目录级文件不应该删除功能。另外,另一个问题是我不知道mysqli.default_socket应该有哪个值。。。我必须设置两次这样的变量(全局和本地配置),这不是有点奇怪吗?@Patrick:这两行应该都出现在php.ini中。默认情况下,它们应该存在于本地php.ini中(即已经存在)。php可能会在每个目录的基础上用一组本地规则覆盖全局php.ini文件(很像.htaccess)。因此,在两个文件中使用相同的mysqli.default套接字。如果不准确,希望我能帮上忙。好的。。最后,我无法访问主php.ini,因此我不知道这些值。我的解决方法不同:我添加了ini_集合(“内存限制”,“128M”);下载Drupal php代码。