这适用于我的 PC 上的本地主机以及远程服务器上的本地主机:
连接.php
<?php
$server = "localhost";
$database = "somedatabase";
$username = "someuser";
$password = "somepassword";
$mysqlConnection = mysql_connect($server, $username, $password);
if (!$mysqlConnection)
{
echo "Please try later.";
}
else
{
mysql_select_db($database, $mysqlConnection);
}
?>
但是,虽然这在我的 PC 上的本地主机上有效,但它在远程服务器上的本地主机上不起作用(db.php
和 connection2.php
位于同一文件夹)。我得到“请稍后再试”的回显。
db.php
<?
$server = "localhost";
$database = "somedb";
$username = "someuser";
$password = "somepass";
?>
连接2.php
<?php
require("db.php");
$mysqlConnection = mysql_connect($server, $username, $password);
if (!$mysqlConnection)
{
echo "Please try later.";
}
else
{
mysql_select_db($database, $mysqlConnection);
}
?>
想法?
更新:根据 CharlesRojas 的建议,我尝试回显 connection2.php
中的变量,但没有任何回显。因此,connection2.php
没有读取 db.php
中的内容。
更新 2:我添加了下面的解决方案,并会在可能的情况下将其标记为正确。
最佳答案
您尝试过echo getcwd();
吗?这会返回正在查找 db.php 的当前工作目录。另外,db.php 的权限是如何设置的?它返回的确切错误是什么?
PS:mysql 函数(mysql_connect、mysql_select_db)已被弃用,您应该使用 mysqli或PDO除非你只是在胡闹。
编辑
The required file started with
When I changed it to
Still, it's not clear why this combination worked fine on localhost on my local PC, but not on the remote server.
啊,我完全错过了。听起来你的本地 php 配置有 short tags已启用,而您的服务器未启用。
关于php - 即使在同一文件夹中,require() 也不适用于文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28933089/