我是cakephp的新手,我在设置本地开发服务器方面遇到了一些问题。我的蛋糕安装位于http://localhost/dropbox/my_site/。但是,当我尝试访问该URL时,它告诉我没有设置Dropbox控制器。如何告诉CakePHP从my_site
而不是/localhost/
开始?
我尝试在路由中添加connect(/localhost/dropbox/*)
,但似乎它仍然在错误的位置查找模型。
我尝试在app / webroot中编辑index.php,但所有示例都显示了如何以linux格式而不是windows编写目录,所以我不确定如何构建'ROOT'
答案 0 :(得分:5)
CakePHP将在子目录中愉快地工作 - 我在我的开发机器上有http://localhost/ {appname}运行的几个Cake网站。
Cake在根index.php文件中定义其ROOT目录。如果你向里看,你会看到以下几行:
define('ROOT', dirname(__FILE__));
define('WEBROOT_DIR', 'webroot');
define('WWW_ROOT', ROOT . DS . APP_DIR . DS . WEBROOT_DIR . DS);
由于它从dirname(__FILE__)
获取ROOT,因此它始终指向该文件的位置。
我怀疑你的路由文件有问题。您是否创建了任何自定义路由规则以考虑位于子目录中?如果你这样做了,你的蛋糕安装可能正试图访问http://localhost/dropbox/my_site/dropbox/ ......这就是你收到错误的原因。
答案 1 :(得分:0)
这可能与CakePHP没有太大关系,也与您的网络服务器有很大关系。
如果 dropbox 是您的文档根目录,则应在您的Web服务器配置中相应地映射它。例如,在Apache中使用DocumentRoot
。