Jump to content

[SOLVED] Problems with Advanced CakePHP configuration


villeit

Recommended Posts

Hi, I am completely new to CakePHP and I have just finished the first tutorial of building the Blog website. It worked well under my CakePHP installation, however I realised that having this structure means I need a Cake framework for each app. Not so good on my dev machine.

So I decided I am going to configure my standard CakePHP installation so I can use the same framework for multiple Cake applications.

 

My current structure is as follows:

 

/htdocs (My Apache DocumentRoot)

    /cakeroot (contains the CakePHP installation)

        /app

        /cake

        /vendors

    /Website1 (Not using Cake)

    /Blog (a renamed copy of the /app directory)

        /config

        /controllers

        /locale

        /models

        /plugins

        /tests

        /tmp

        /vendors

        /views

        /webroot

 

So if I understand things correctly, I am supposed to configure the 3 sections in

/Blog/webroot/index.php as to get the application running from another directory path.

Below is my configuration in this file:

 

	
// The full path to the directory which holds "app", WITHOUT a trailing DS.
if (!defined('ROOT')) {
        define('ROOT', 'htdocs');
}

//The actual directory name for the "app".
if (!defined('APP_DIR')) {
       define('APP_DIR', 'Blog');
}

//The absolute path to the "cake" directory, WITHOUT a trailing DS.
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
        define('CAKE_CORE_INCLUDE_PATH', 'htdocs'.DS.'cakeroot');
}

 

But my problem is that when I try to access "http://localhost/Blog" I get a blank page!

 

The current /cakeroot/app directory contains the same application as the Blog directory and that

one works fine on my browser as "http://localhost/cakeroot" (I configured the routing to make the URL neater)

 

What am I missing?  ???

 

 

http://www.davidgolding.net/screencast-movies/2_installing_cake_outside_root_960_600.mov

 

That video should explain it pretty well. You should consider moving both cake and app outside of your webroot, at least in a production system.

Thanks. The video clarified a couple of things for me and I got it working. But the main reason was that in Windows, you have to add the absolute paths to the ROOT directory and the CAKE_CORE_INCLUDE_PATH.

 

So the correct way to point these where (in my case):

if (!defined('ROOT')) {
                define('ROOT', 'C:'.DS.'Program Files'.DS.'Apache Software Foundation'.DS.'Apache2.2'.DS.'htdocs');
}
/**
* The actual directory name for the "app".
*/
if (!defined('APP_DIR')) {
                define('APP_DIR', 'Posts');
}
/**
* The absolute path to the "cake" directory, WITHOUT a trailing DS.
*/
if (!defined('CAKE_CORE_INCLUDE_PATH')) {
                define('CAKE_CORE_INCLUDE_PATH', 'C:'.DS.'Program Files'.DS.'Apache Software Foundation'.DS.'Apache2.2'.DS.'htdocs'.DS.'cakeroot');
}

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.