【问题标题】:Configuring CodeIgniter to run locally with Apache on Mac OS X将 CodeIgniter 配置为在 Mac OS X 上使用 Apache 在本地运行
【发布时间】:2011-10-01 09:05:30
【问题描述】:

我有一个 CodeIgniter 项目,到目前为止,它只能远程运行(它是在服务器上构建的......不是我的想法!)。我将它从 GitHub 拉到我的本地机器(运行 OS X 10.6,我安装并配置了 MySQL 和 PHP)。

当我转到主页 (http://localhost) 时,它工作正常(连接到数据库,运行所有 PHP,向我显示正确的页面)...但是当我单击任何链接时(例如,指向http://localhost/product/details/464 的产品链接)我得到一个空白页或“未找到此服务器上未找到请求的 URL /product/details/464。”瞬间。

就好像我的堆栈中的某个地方 Apache 或 PHP 或 CodeIgniter 正在丢球并且没有意识到它应该解释这个 URL 并将其定向到适当的控制器等,而是试图将它提供为好像它是一个静态的文件。我可能在这里遗漏了一些明显的东西,但我一直在尝试排除故障几个小时,但没有运气。任何帮助将不胜感激!

【问题讨论】:

  • 我从来没有真正被 CodeIgniter 愚弄过,所以我不会回答。但是,框架是否使用任何.htaccess 文件来重定向到前端控制器?如果是这样,当您将其下载到本地计算机时,它们是否在您的 github 存储库中?
  • .htaccess 文件在 git repo 中,是否还有其他全局 .htaccess 文件可能会弄乱它?我将尝试按照 GregSchoen 下面的建议使用 MAMP,然后再报告。

标签: php apache codeigniter localhost


【解决方案1】:

你是否在config.php文件中设置了base_url和index_page?如果你的 Apache 没有运行 mod_rewrite,你需要启用 mod_write 并确保你有你的 .htaccess 文件,或者将你的 index_page 设置为“index.php”,这样 CodeIgniter 就可以在没有 mod_rewrite 的情况下工作。

$config['base_url']     = 'http://yourlocalurl/';
$config['index_page'] = 'index.php';

【讨论】:

    【解决方案2】:

    .htaccess 是你的问题,它没有正确重定向。

    Mac 中 Apache/PHP 的默认安装很奇怪。我遇到了 CodeIgniter 和 Apache 无法识别 .htaccess 文件的问题。使用 MAMP [http://www.mamp.info/en/index.html] 更加稳定,并且可以与托管环境相媲美。

    【讨论】:

    • 感谢 MAMP 提示 Greg!我浪费了很多时间在我的 Mac 上无缘无故地设置 MySQL,但幸运的是,现在一切都可以使用 MAMP 正常工作!
    【解决方案3】:

    Mac 设置:

    $config['base_url']     = 'http://localhost:8000';
    $config['index_page'] = 'index.php';
    

    终端:php -S localhost:8000

    如果这不起作用,请确保 apache 正在运行...
    终端:sudo apachectl start
    然后再次运行:php -S localhost:8000

    【讨论】:

      猜你喜欢
      • 2011-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 2010-10-16
      • 2011-02-07
      • 1970-01-01
      相关资源
      最近更新 更多