致命错误:在将 PHP 5.4.22 和 MySQL 5.5 与 Apache 2.4.7 连接时调用未定义的函数 mysqli_connect() in...

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/22116491/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 04:40:33  来源:igfitidea点击:

Fatal error: Call to undefined function mysqli_connect() in... while connecting PHP 5.4.22 and MySQL 5.5 with Apache 2.4.7

phpmysqlmysqli

提问by CodeOn

I am trying to connect PHP 5.4.22 and MySQL 5.5 with Apache 2.4.7 as the web server. All three of these individually are working fine. However, when I try to connect PHP with MySQL I get the error:

我正在尝试使用 Apache 2.4.7 作为 Web 服务器连接 PHP 5.4.22 和 MySQL 5.5。所有这三个单独工作正常。但是,当我尝试将 PHP 与 MySQL 连接时,出现错误:

"Fatal error: Call to undefined function mysqli_connect() in..."

“致命错误:调用未定义的函数 mysqli_connect() in...”

db_connect.php code

db_connect.php 代码

$con = mysqli_connect("localhost","root","root","mylab_dev");

if (mysqli_connect_errno($con))
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$conn->close();

httpd.conf configuration:

httpd.conf 配置:

ServerRoot "c:/Apache24"

#Listen 12.34.56.78:80
Listen 80

LoadModule php5_module "C:/php/php5apache2_4.dll" (Verified the existence of the physical file)

AddHandler application/x-httpd-php .php

DirectoryIndex index.php index.html
PHPIniDir c:/php

Modified php.ini-development file to php.ini

将 php.ini-development 文件修改为 php.ini

; extension_dir = "./"

; On windows:

extension_dir = "ext"

extension=php_mysql.dll  --> Uncommented

extension=php_mysqli.dll --> Uncommented

Set the date timezone accordingly

相应地设置日期时区

One thing I noticed but not sure if this is the reason, in the phpinfo()page I see the MySQL information, but I don't see anything which says mysqli(). Should I?

我注意到但不确定这是否是原因的一件事,在phpinfo()页面中我看到了 MySQL 信息,但我没有看到任何说mysqli(). 我是不是该?

回答by amresh tripathi

First of all, make sure you are editing the correct php.iniby checking from the phpinfo().

首先,php.ini通过从phpinfo().

I wrote these instructions mainly for Windows users:

我主要为 Windows 用户编写了这些说明:

Edit your php.ini.

编辑您的php.ini.

Check whether variable extension-diris set properly. If not, specify the correct path as per your OS.

检查变量extension-dir是否设置正确。如果没有,请根据您的操作系统指定正确的路径。

extension_dir = "C:\Program Files\php\ext"

Un-comment these lines by removing the ;(semi-colon):

通过删除;(分号)取消注释这些行:

extension=php_mysql.dll
extension=php_mysqli.dll

回答by dilbadil

I had the same error, and I fixed it with these steps:

我遇到了同样的错误,并通过以下步骤修复了它:

sudo apt-get install php5-mysql
sudo service apache2 restart

回答by Nick

This connection for PHP 5.5/MySQL seems to work for me.

PHP 5.5/MySQL 的这种连接似乎对我有用。

$host = "localhost";
$db = "mydatabse";    // Database name
$user = "my_username"; // User
$pass = "my_passxx"; // Password

// My PHP 5.5 method of connecting to the database
$mysqli = new mysqli("$host", "$user", "$pass", "$db");
if ($mysqli->connect_errno) {
    echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    exit();
}

回答by user3030213

Find the path for php.ini by checking from the phpinfo(). Copy the php.ini file to the address shown in path.

通过检查 phpinfo() 找到 php.ini 的路径。将php.ini文件复制到path中显示的地址。

回答by Won Jun Bae

This will remove and replace the default PHP 5.5.9 packages that come with Ubuntu 14.04 with the versions from the ppa.

这将使用 ppa 中的版本删除和替换 Ubuntu 14.04 附带的默认 PHP 5.5.9 软件包。

sudo aptitude install pkg-php-tools php5.6 php5.6-cgi php5.6-cli php5.6-dbg php5.6-common php5.6-curl php5.6-gd php5.6-imap php5.6-intl php5.6-mysql php5.6-pspell php5.6-sqlite3 php5.6-tidy php5.6-opcache php5.6-json php5.6-bz2 php5.6-mcrypt php5.6-readline php5.6-xmlrpc php5.6-enchant php5.6-xsl php-all-dev php7.0 php7.0-cgi php7.0-cli php7.0-common php7.0-dbg php7.0-curl php7.0-enchant php7.0-gd php7.0-imap php7.0-intl php7.0-ldap php7.0-mcrypt php7.0-readline php7.0-pspell php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-json php7.0-sqlite3 php7.0-mysql php7.0-opcache php7.0-bz2 libapache2-mod-php7.0

https://www.23systems.net/2016/01/installing-php-5-6-x-7-0-x-ubuntu-14-04-virtualmin-5-0gpl-using-ppa/

https://www.23systems.net/2016/01/installing-php-5-6-x-7-0-x-ubuntu-14-04-virtualmin-5-0gpl-using-ppa/