2010-10-22 55 views
4

INSTALLING CakePHP的傻瓜UPDATE CakePHP的 - 所请求的URL不在此服务器

如果你像我一样,你感到沮丧与这些框架,如Ruby on Rails和CakePHP的,其承诺的快速发展,尽管低迷开始上找到 - 只需花几个小时安装。

为了让CakePHP运行,扔掉教程,甚至不打扰购买书籍或阅读文档。他们没有提及确切地做到这一点,但是这是什么需要在Mac 10.6.2完成:

1) Install CakePHP to Sites and unzip it. Rename it to your application name. 
2) Now your httpd.conf file can be located anywhere on your mac. Each tutorial assumes it's located at some place in the depths of virtual reality. But in reality all you need to do is use the handy unix command locate from the terminal: locate httpd.conf 
4) Then whip out your editor: mate httpd.conf 
5) make sure your DocumentRoot says this: DocumentRoot "/Library/WebServer/Documents" 
6) make sure under Directory it says AllowOveride All and Allow from all. It should have this by default but you never know when your sister randomly screws with your computer. Just be glad you have a mac and don't have to deal with her infesting your computer with viruses. 
7) Obviously you want the php module uncommented: LoadModule php5_module  libexec/apache2/libphp5.so 
8) Now if you're like me, you dont want to type http://localhost/~jmerlino/mysite. You want to type http://localhost/mysite. So launch the hosts file. Again all you have to do is locate /etc/hosts and then mate /etc/hosts, assuming you're using TextMate. If you're using BBEdit, then obviously you won't be using the mate command. 
9) Add this line: 127.0.0.1 localhost/mysite. This allows you to now use http://localhost/mysite. 
10) Now the crazy part. find yur username.conf. For me, it's /etc/apache2/users/username.conf. For you, you do locate and make sure it's same spot. 
11) Add the following: 
<VirtualHost *:80> 
ServerName localhost/sitename 
DocumentRoot "/Users/username/Sites/" 
</VirtualHost> 
12) Don't put username. Put whatever your user name is. 
13) Then run your app off http://localhost/mysite. 
14) Don't forget to sudo apachectl restart when you're finished. 

如果你有问题了,这并不意味着你应该放弃编程,成为一个管道清洁剂。只要不断尝试。请记住,您无法在一个在线教程中找到解决方案。

+0

尝试从“DocumentRoot”设置中删除“app/webroot”?或者那些文件夹实际存在? – drudge 2010-10-22 23:33:13

+0

我曾尝试将其从DocumentRoot设置中移除。奇怪的是,错误依然存在。是的,这些文件确实存在。我在另一个浏览器上尝试过,因为我认为cookie可能是问题。我也重启了apache。但仍然存在同样的错误,尽管从documentroot删除app/webroot。 – JohnMerlino 2010-10-22 23:43:08

回答

0

我建议你按照bakery的安装说明和this博客的设置。也看看这个ticket

+0

您的指示说压低/库/ Web服务器/文件 所以我做 它说 在/ Library/Web服务器/文件类型: LN -s /用户/用户名/网站/饼 所以我 然后编辑您的httpd.conf文件。那就在这里。 /etc/httpd/httpd.conf 不幸的是,这里没有这样的文件。该文件位于 /private/etc/apache2/httpd.conf 因此,我去那里,并进行以下更改: DocumentRoot“/ Library/WebServer/Documents/cake/app/webroot” AllowOverride All已被设置为全部 sudo apachectl restart 现在我无法连接页面 – JohnMerlino 2010-10-23 00:30:05

+0

现在我根本无法连接。 – JohnMerlino 2010-10-23 00:30:57

+0

我将DocumentRoot改回了/ Users/jmerlino/Sites,现在它似乎正在工作。我没有读过这些教程,也没有提到你提供的这些内容。但是,这是你发送的第三个问题的最终提醒我检查/ Users/jmerlino/Sites的stackoverflow链接。 – JohnMerlino 2010-10-23 00:49:58

0

更改您的Web服务器配置中的document_root。例如:document_root /var/www

将其更改为document_root /var/www/cakedocument_root应指向您的项目。

0

编辑应用程序中的文件core.php中/配置/ core.php中

在代码 找到这一行定义( 'ABSOLUTE_URL',FULL_BASE_URL “”); 并将其更改为define('ABSOLUTE_URL',FULL_BASE_URL."subdirectory_name"); 例如:define('ABSOLUTE_URL',FULL_BASE_URL."/cake");

相关问题