我尝试将 MySQL 与 PHP 结合使用,但出现此错误:
Fatal error: Uncaught Error: Call to undefined function mysqli_connect() in 'file_name Stack trace: #0 {main} thrown in 'file_name'`
在执行 print_r( get_define_functions())
时,我发现 MySQLi 扩展不存在,但它已“加载”到 php.ini
文件中(我的意思是这不在评论中)。
我指定PHP目录在PATH中(我在windows下),MySQL、PHP和Apache在我的C:盘上。
我不知道问题出在哪里,这可能是一件小事,但我看不出是哪一个。
我的版本是:
Apache 2.4.47 PHP 7.1.7 MySQL 5.7 Windows 7
PS:php_mysqli.dll
仅执行 97k。不知道是否正常。
我是如何解决这个问题的:我刚刚在 php.ini 文件中加载扩展的行下添加了 extension_dir="path_to_php\ext"
。该行用于指示硬盘中扩展的位置。不要忘记重新启动服务器,它会重新加载 php.ini 文件。
最佳答案
首先,运行phpinfo()
以确保您正在查看正确的php.ini
。
如果您的 php.ini
文件中有 extension=php_mysqli.dll
未注释,请检查您的扩展目录。您可能需要明确设置它,例如:
extension_dir="C:\xampp\php\ext"
如果问题仍然存在,请检查 apache 错误日志,您应该在那里找到更多信息。
关于PHP:mysqli 扩展未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48235645/