创建PHP安装脚本

时间:2013-07-23 10:22:10

标签: php

假设我创建了一个PHP脚本,我希望每次有人在localhost /他的Web服务器上打开它以重定向到安装目录

我是否必须修改.htaccess并添加 DirectoryIndex Install.php ,还是有另一种方式?

提前致谢:)

P.S:我已经创建了安装脚本。

2 个答案:

答案 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则出现问题,因此加载安装/更新屏幕。

一系列其他值用于创建智能安装/更新过程。也许比想要创建的要多一些,但没有诊断就没有安装系统是万无一失的。考虑到初始安装期间是否存在故障,用户会篡改安装或黑客。因此,诊断系统与安装相关联,而不是向文件转发,我希望仍然存在。我只是简单地调用一些函数。