【问题标题】:How to run Multiple codeigniter application in single shared hosting server?如何在单个共享托管服务器中运行多个 codeigniter 应用程序?
【发布时间】:2019-05-11 20:21:44
【问题描述】:

我正在为 Codeigniter 应用程序使用共享软管进行部署。 如何在实时服务器上运行 staging url?

1) domain.com(工作中) 2)domain.com/staging/(不工作,显示404错误)

我在 public_html 目录下创建了 staging 文件夹,现在将所有 CI 代码放在 staging 文件夹中,并尝试使用 URL domain.com/staging/ 运行应用程序,但它重定向到 domain.com/404

我希望为用户运行 domain.com,为开发运行 domain.com/staging。 (我将用于开发的暂存 URL,之后我将为实时 URL 放置相同的代码。)

【问题讨论】:

    标签: codeigniter codeigniter-3 codeigniter-2


    【解决方案1】:

    这很容易通过使用临时版本的子域来完成,即staging.doman.com。放置 CI 文件的文件夹并不重要,因为子域将设置为使用您选择的目录。

    您要么需要完全控制服务器,要么拥有允许您设置子域的服务提供商。

    - 扩展答案-

    如果您无法设置子域,那么您的下一个最佳选择是使用Managing you Applications 文档中的建议。不需要使用那里显示的文件结构。在您的情况下,请尝试以下操作。

    1. 在与application 同级的文件夹中创建一个名为staging 的文件夹。

    2. 将通常在/application 中找到的所有文件夹和文件复制到该文件夹​​中。

    添加您的站点所需的所有应用程序文件夹和文件。这些文件夹中的文件构成了您正在暂存的应用程序。

    1. 复制index.php(公用文件夹根目录下的文件,即domain.com/index.php)并将其命名为staging.phpindex.phpstaging.php 都将在同一个文件夹中。

    2. 编辑staging.php 并将$application_folder 的值更改为暂存文件夹的绝对路径。例如:

      $application_folder = '/path/to/domain.com/public_folder/staging';

    上面的路径是一个例子。您必须将其替换为服务器中的实际路径。如果您不知道完整和绝对路径是什么,您可以使用

    $application_folder = dirname(__FILE__).'/staging';
    
    1. 浏览到 URL domain.com/staging.php,您应该会得到默认控制器的输出。为了测试您是否确实看到了页面的暂存版本,暂时更改了视图文件中的某些内容,以便毫无疑问。

    您将使用 URL domain.com/staging.php/other_controller 转到其他控制器。

    1. /staging/config/config.php$config['index_page']的值改为staging.php,例如

      $config['index_page'] = 'staging.php';

    如果没有上述更改redirect() 和许多其他“帮助”功能将无法正常工作。

    1. (可选?)您可能可以编辑主要的.htaccess 并为staging.php 添加重写规则,就像为index.php 所做的那样。但我会把它留给你作为练习。 (或者对于另一个 SO 问题。)

    最后一句话。可能需要进行其他配置更改以适应修改后的文件结构。我在这里测试了答案,但没有超出浏览控制器的最基本任务。会话、cookie 和许多其他的最有可能的配置值将需要调整,以便分阶段版本正常工作。查看Handling Multiple Environments 上的文档,了解如何减轻这种痛苦。

    【讨论】:

    • 谢谢@DFriend,但我不允许在共享主机上创建子域。这就是为什么我想作为子目录运行。
    • @RameshwarJaiswal 我已经扩展了我的答案。我希望它有所帮助。
    猜你喜欢
    • 2013-11-28
    • 2011-02-24
    • 1970-01-01
    • 2013-11-11
    • 2011-04-23
    • 2016-11-20
    • 1970-01-01
    • 2011-06-06
    相关资源
    最近更新 更多