为什么 PHP 7.4 with mysqli 仅在根目录中 运行?

Why does PHP 7.4 with mysqli only run in root directory?

最近我的托管网站 (HostGator) 将我网站的 PHP 从 5.4 升级到 7.4。在 5.4 版本中正常工作后,其中包含 php 和 mysqli 语句的页面失败了。代码如下:

<body>
<?php include("menu_primary.html");?>
Some text
<?php 
    $servername = "localhost";
    $username = "my_username";
    $password = "my_password";
    $database = "my_database";
    
    // Create connection
    $link = mysqli_connect($servername, $username, $password, $database);
        // Check connection
        if (!$link) {
            die("Connection failed: " . mysqli_connect_error());
        }   

将在以下语句上失败:mysqli_connect($servername, $username, $password, $database);
但是语句 <?php include("menu_primary.html");?> 会执行得很好。 经过反复试验,我想到将整个 PHP 文件从文件夹 /public_html/my_app 移动到文件夹 /public_html 。然后一切又正常了。
这两个文件作为从 PHP 5.4 到 PHP 7.4 升级的一部分进行了编辑。
问题:我必须在 /public_htmnl/.htaccess/public_html/php.ini 文件中做些什么才能允许嵌入的 PHP 在从属于 /public_html 的目录中执行吗? 感谢您查看此内容。

很多天后,我从托管公司那里得到了答复。文件 .htaccess 是问题所在。当站点从 5.4 升级到 7.4 时,它添加了以下行:

suPHP_ConfigPath /home2/susanna

public_html 文件夹从属于该路径。他们的升级支持注释掉了添加的整个部分:

#<IfModule mod_suphp.c>
# suPHP_ConfigPath /home2/susanna
 #<Files php.ini>
#   order allow,deny
#   deny from all
# </Files>
#</IfModule>

现在可以从下级目录调用 PHP 代码(在 php 7.4 上执行)。