【问题标题】:Codeigniter: Installation problems with remote system and app folders on byethostCodeigniter:byethost 上的远程系统和应用程序文件夹的安装问题
【发布时间】:2012-12-28 17:18:06
【问题描述】:

在 codeigniter 安装指南here 中说,为了获得最佳安全性,系统和应用程序文件夹应设置在 web 根目录之上。我有点喜欢这个主意,所以我试了一下。

在 byethost 示例中,它与 htdocs 位于同一文件夹中(我认为)

我通过 echo $_SERVER['DOCUMENT_ROOT']; 获得了服务器路径 所以我的是这样的: /home/vol8/byethost17.com/my_username/htdocs

所以我尝试将 index.php 中的路径作为

 $application_folder = 'home/vol8/byethost17.com/my_username/application';
 $system_path = 'home/vol8/byethost17.com/my_username/system';

但是没用

  Your system folder path does not appear to be set correctly. 
  Please open the following file and correct this: index.php

与应用程序文件夹相同?

有人可以帮我正确设置吗?

编辑:

详情:

主机php版本:5.3.14 代码初始化器:2.1.3 在根中写入前提:rwxr-x--x

编辑 2:

当我设置时

   $application_folder = 'home/vol8/byethost17.com/my_username/htdocs/application';
   $system_path = 'home/vol8/byethost17.com/my_username/htdocs/system';

它会起作用,这意味着它可能是主机不允许这样做。

编辑 3:

当我放

    $system_path = dirname(__FILE__) . "/../system";

页面不会加载,甚至不会显示错误消息。

【问题讨论】:

  • 可能你在路径中忘记了 /。实际上你可以使用 dirname(__FILE__) . '/../systemdirname(__FILE__) . '/../application

标签: php codeigniter hosting


【解决方案1】:

在webroot上面的目录中设置CodeIgniter系统和应用程序文件夹的路径可以通过以下方式实现:

  1. systemapplication 文件夹移到您的 webroot 上方。

    1.1 一些托管服务提供商不允许这样做,所以要小心。

  2. 打开index.php并更改:

    $system_folder = "system";
    

    // if you are using pre-php5.3
    $system_folder = dirname(__FILE__) . "/../system";
    // if you are using php5.3
    $system_folder = __DIR__ . "/../system";
    
  3. 取决于 CodeIgniter 的版本。

    3.1 对于 2.0 之前的版本:

    $application_folder = "application";
    

    3.2 对于 2.0+

    $application_folder = '../application';
    

【讨论】:

  • 感谢您发布此内容,我试过了,但无法在 localhost 或 byethost 上运行。
  • 奇怪.. 应该可以。你可以在回答后设置var_dump(realpath($system_folder))吗?
  • 我认为这是因为主机,即使我可以将应用程序和系统路径设置为:/home/vol8/byethost17.com/my_username/htdocs/application 并且它工作正常,当我把 /home/vol8/byethost17.com/my_username/application 它不起作用。
  • 哦,对不起。似乎我错过了部分代码。应该是var_dump(realpath(__DIR__ . '/../'));
  • 那么你的服务器配置禁止 PHP 遍历 webroot 以上。或者你有错误的访问规则
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-14
  • 2012-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-28
  • 2016-09-18
相关资源
最近更新 更多