Я новичок в cakephp, и у меня возникают проблемы с настройкой локального сервера разработки. У меня есть установка для торта, расположенная по адресу http: // localhost / dropbox / my_site / . Однако, когда я пытаюсь посетить этот URL-адрес, он сообщает мне, что контроллер Dropbox не настроен. Как я могу сказать CakePHP для запуска в my_site
а не /localhost/
?
Я попытался добавить к маршрутам connect(/localhost/dropbox/*)
, но похоже, что он по-прежнему ищет модели в неправильном месте.
Я пробовал редактировать index.php в приложении / webroot, но все примеры показывают, как писать каталог в формате linux, а не в окнах, поэтому я не уверен, как структурировать ROOT,
CakePHP будет работать в подкаталоге – у меня есть несколько сайтов Cake, работающих под http: // localhost / {appname} на моей машине dev.
Cake определяет свой каталог ROOT в корневом файле index.php. Если вы заглянете внутрь, вы увидите следующие строки:
define('ROOT', dirname(__FILE__)); define('WEBROOT_DIR', 'webroot'); define('WWW_ROOT', ROOT . DS . APP_DIR . DS . WEBROOT_DIR . DS);
Поскольку он берет ROOT из dirname(__FILE__)
, он всегда укажет на местоположение этого файла.
Я подозреваю, что у вас проблемы с файлом маршрутизации. Создавали ли какие-либо пользовательские правила маршрутизации для учетной записи, находясь в подкаталоге? Если вы это сделали, ваша установка на торты может пытаться получить доступ к http: // localhost / dropbox / my_site / dropbox / … и именно поэтому вы получаете эту ошибку.
Вероятно, это не так много связано с CakePHP, как с вашим веб-сервером.
Если dropbox является вашим корнем для документов, он должен быть соответствующим образом сопоставлен в конфигурации вашего веб-сервера. Например, используя DocumentRoot
в Apache.