假设我创建了一个PHP脚本,我希望每次有人在localhost /他的Web服务器上打开它以重定向到安装目录
我是否必须修改.htaccess并添加 DirectoryIndex Install.php ,还是有另一种方式?
提前致谢:)
P.S:我已经创建了安装脚本。
答案 0 :(得分:1)
您可以通过在脚本索引文件标题中添加以下代码来检查安装程序:
使用文件存在:
//if the install file doesn't exist, the script hasn't been installed.
if(file_exists(dirname($_SERVER['SCRIPT_FILENAME']).'/install.php'))
{
$folder = dirname($_SERVER['SCRIPT_NAME']);
$path = rtrim($_SERVER['HTTP_HOST'].$folder, '/\\').'/';
header('Location: http://'.$path.'install.php');
die;
}
使用DB存在:
//if the install file doesn't exist, the script hasn't been installed.
if(mysql_select_db('db_name'))
{
$folder = dirname($_SERVER['SCRIPT_NAME']);
$path = rtrim($_SERVER['HTTP_HOST'].$folder, '/\\').'/';
header('Location: http://'.$path.'install.php');
die;
}
答案 1 :(得分:0)
我总是在数据库中插入多个值来指示安装状态。如果缺少这些值,则表示未执行安装或需要运行安装来修复损坏的安装。
我脚本中的同一系统用于触发更新。所以在这方面要提前考虑。您是否希望用户显示更新信息和按钮以初始更新?
我将安装视为一种状态而不仅仅是操作,即我使我的应用程序不断检查安装状态,并且当用户不执行操作以避免过多处理时我这样做。如果发现安装有问题,我的应用程序会强制用户查看安装/更新屏幕,其中会显示有关可能故障的信息。
没有转发。相反,在我的脚本的早期,我有一个if参数,用于检查指示整体安装状态的变量。因此,如果$ installstate = true,则正常加载应用程序,如果$ installstate = false则出现问题,因此加载安装/更新屏幕。
一系列其他值用于创建智能安装/更新过程。也许比想要创建的要多一些,但没有诊断就没有安装系统是万无一失的。考虑到初始安装期间是否存在故障,用户会篡改安装或黑客。因此,诊断系统与安装相关联,而不是向文件转发,我希望仍然存在。我只是简单地调用一些函数。