代码之家  ›  专栏  ›  技术社区  ›  Boris Guéry

如何确定是否已安装和设置web应用程序?

  •  2
  • Boris Guéry  · 技术社区  · 16 年前

    我不确定我的问题是否足够。。。 我正在用PHP和Zend框架开发CMS。 一些CMS或任何应用程序都提供这种方式,只需输入一个“安装url”,如 http://localhost/app/install

    我也想这样做,但我不想让任何用户设置它,所以我正在寻找一种方法来确定应用程序是否已设置。

    在内部写入任何布尔值,然后进行检查可能是一个好主意。。

    你觉得怎么样?你有更好的主意吗?

    4 回复  |  直到 16 年前
        1
  •  5
  •   James B    16 年前

    虽然我对Sam152的答案投了赞成票,但我觉得有必要进一步澄清(这与评论不符)。我在这些情况下的做法如下:

    1. 让用户运行安装程序。
    2. 应该停止用户运行 安装工 再一次 .
    3. 阻止主脚本执行(即使在成功安装之后),直到 已从服务器中删除。

    简单、安全、有序。:)

        2
  •  1
  •   Sam Becker    16 年前

        3
  •  0
  •   Saulius Žemaitaitis    16 年前

    目前,很多web应用程序都有一个类似配置的文件,它们存储数据库登录信息等内容。在新安装的应用程序上,代码可能会检查配置文件或其中的某些变量是否存在,如果不存在,则重定向到安装脚本。

    如果配置文件存在,相同的脚本稍后可能会拒绝工作。另外,通常的做法是在设置后告诉用户删除安装脚本/文件夹。有些甚至不遗余力地强制删除,如果文件存在,则根本不工作。

    还有其他方法可以满足您的需求,但我发现这是开源web应用中最常见的方法。

        4
  •  0
  •   Sean McSomething    16 年前

    以Drupal的安装脚本为例。。。

    if ( ! config_file_exists()) {
        tell_user_to_write_config_file();
    } elseif ( ! can_connect_to_db()) {
        tell_user_to_fix_config_file();
    } elseif ( ! check_db_if_installed() ) {
        do_install_stuff();
    } else {
        tell_user_system_installed()
    }
    

    do_install_stuff() -对于Drupal,它检查设置表中是否存在行( variable )叫 install_task