为什么 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 上执行)。
最近我的托管网站 (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 上执行)。