这个PHP配置中是否启用了mysqli扩展?

6
我有一个用mysqli (mysql - improved)扩展设计的php网站。phpinfo()页面显示如下内容:

./configure --disable-fileinfo --disable-phar --enable-bcmath --enable-calendar --enable-ftp --enable-gd-native-ttf --enable-libxml --enable-magic-quotes --enable-mbstring --enable-pdo=shared --enable-soap --enable-sockets --enable-wddx --enable-zend-multibyte --enable-zip --prefix=/usr --with-bz2 --with-curl=/opt/curlssl/ --with-curlwrappers --with-freetype-dir=/usr --with-gd --with-imap=/opt/php_with_imap_client/ --with-imap-ssl=/usr --with-jpeg-dir=/usr --with-kerberos --with-libdir=lib64 --with-libexpat-dir=/usr --with-libxml-dir=/opt/xml2 --with-libxml-dir=/opt/xml2/ --with-mcrypt=/opt/libmcrypt/ --with-mysql=/usr --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mysqli=/usr/bin/mysql_config --with-openssl=/usr --with-openssl-dir=/usr --with-pcre-regex=/opt/pcre --with-pdo-mysql=shared --with-pdo-sqlite=shared --with-pic --with-png-dir=/usr --with-pspell --with-sqlite=shared --with-tidy=/opt/tidy/ --with-xmlrpc --with-xpm-dir=/usr --with-xsl=/opt/xslt/ --with-zlib --with-zlib-dir=/usr

这是否意味着此配置中启用了mysqli扩展?
3个回答

30

如果您希望启用 mysqli 扩展,在同一 phpinfo 页面上应该出现一个"MysqlI Support | enabled" 表头。请查找:

enter image description here


如果您想在脚本中查找,可以搜索特定于 mysqli 的函数,如 mysqli_connect() 然后检查其是否存在:

var_dump(function_exists('mysqli_connect'));
如果输出为 FALSE,则表示它不存在,很可能无法使用该模块。

是的,有一个标记为"mysqli"的部分,就像你提供的表的屏幕截图一样。这意味着我可以安全地迁移我的脚本到这个特定的Web主机,并且mysqli函数将能够正常工作,对吗?谢谢。 - arun nair

5
这意味着它是使用mysqli支持编译的。模块是否启用是另一个问题。

cartwright - 请帮助我理解(我在这里完全是新手).. 我在原始问题中粘贴的是我拟议的WEBHOST的phpinfo()页面的“配置命令”部分。如果我将我的PHP脚本(其中包含mysqli命令)迁移到此特定的Webhost,是否会正常工作?谢谢! - arun nair
2
如果您已经有了phpinfo()的结果,请搜索单词"mysqli"。您应该会看到一个概述您的mysqli模块所有细节的部分。 - John Cartwright
我刚才描述的是由@maria提供的屏幕截图,仅供参考。 - John Cartwright
是的,@john cartwright。我在phpinfo()页面中看到了mysql和mysqli两个部分。另一个疑问,我在某处读到,在共享托管服务的情况下,只有其中一个 - mysqli或mysql - 将被启用(或激活)。但是我的phpinfo页面显示了这两个部分。我是在混淆基础知识,还是网络主机实际上向我展示了专用服务器phpinfo页面? - arun nair
1
在共享主机或专用主机上启用MySQL和MySQLi都是完全可以的。我认为你所读到的可能只适用于某些共享环境,以释放资源,但这并不妨碍你拥有2个、3个、100个等数据库。 - John Cartwright

0

如果您在Linux上没有phpinfo()访问权限,可以在终端上运行以下命令来验证是否已启用mysqli

php -m | grep mysqli

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