配置CodeIgniter在Mac OS X上与Apache一起本地运行


Configuring CodeIgniter to run locally with Apache on Mac OS X

我有一个CodeIgniter项目,直到现在才远程运行(它是构建在服务器上…不是我的主意!)我把它从GitHub到我的本地机器(运行OS X 10.6,我有MySQL和PHP安装和配置)。

当我去首页(http://localhost)它工作得很好(连接到DB,运行所有的PHP,给我正确的页面)…但是当我点击任何链接(例如,一个产品链接到http://localhost/product/details/464),我得到一个空白页或"未找到请求的URL/product/details/464在此服务器上找不到。"立即。

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

是否在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';

Mac设置:

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

终端:php -S localhost:8000

如果不工作,请确保apache正在运行…
端子:sudo apachectl start
php -S localhost:8000

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

Mac中Apache/PHP的默认安装是奇怪的。我遇到了CodeIgniter和Apache无法识别.htaccess文件的问题。使用MAMP [http://www.mamp.info/en/index.html]要比托管环境稳定得多。