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

时间:2011-07-08 15:16:30

标签: php apache codeigniter localhost

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

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

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:2)

Mac设置:

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

终端:php -S localhost:8000

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