PHP可以';t连接到MySQL:mysqli.so文件未加载


PHP can't connect to MySQL: mysqli.so file not loading?

我试图在Amazonec2上使用php连接到MySQL数据库,但它甚至没有返回错误消息。我想是因为mysqli.so没有加载。

我的php:

<?php
require_once "login.php";
$db_server = new mysqli($db_hostname, $db_username, $db_password);
if (!$db_server):
    echo ("Unable to connect to MySQL: " . mysql_error());
?>

login.php包含我使用的MySQL的登录详细信息。

我已经运行

php -m | grep mysqli

哪个返回

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/mysqli.so' - /usr/lib64/php/modules/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
mysqli

/use/lib64/php/modules/不包含mysqli.so

我在另一个位置找不到mysqli.so,我已经在php.ini文件的顶部添加了extension=mysqli.so行,我不知道下一步该怎么做。

根据请求我的login.php文件(X是我通过ssh登录时使用的用户名和密码):

<?php
$db_hostname = 'localhost';
$db_database = 'publications';
$db_username = 'XXX';
$db_password = 'XXX';
?>

你能尝试这些来排除任何进一步的故障吗

  1. 打开错误日志

    <?php
    error_reporting(E_ALL);
        ini_set('error_reporting', E_ALL);
        ini_set('display_errors', 'On');
    $mysql = mysqli_connect($db_hostname, $db_username, $db_password); //maybe it is required to add your database_name here
    if ($mysqli->connect_error) {
    die('Connect Error: ' . $mysqli->connect_error);
    }
    ?>
    

  2. 尝试回显php信息

要么这个:

<?php echo 'Configuration file (php.ini) path: ', get_cfg_var('cfg_file_path');

<?php
// Show all information, defaults to INFO_ALL
phpinfo();
// Show just the module information.
// phpinfo(8) yields identical results.
phpinfo(INFO_MODULES);
?>