Как настроить CakePHP, чтобы он правильно отображался в моем браузере? - PullRequest
1 голос
/ 01 сентября 2010

Я новичок в CakePHP, и у меня возникли проблемы с просмотром файлов в папке просмотра через браузер.

Я использовал консоль CakePHP для запекания модели, контроллера и представлений. (например: Invoices_controller.php для контроллера, invoice.php для модели и папки счетов-фактур в папке представлений). Согласно прочитанному мною руководству, я могу получить доступ к представлению счета, набрав http://localhost/myProject/invoices (в папке invoices нет index.php ... но учебник показывает, что он все еще может отображать страницу. Понятия не имею, как они это сделали)

Путь к моим счетам - myProject / views / invoices, и в папке счетов-фактур есть файлы add.ctp, index.ctp, edit.ctp.

Браузер показал, что файл не найден, когда я набрал http://localhost/myProject/invoices

Ответы [ 4 ]

2 голосов
/ 01 сентября 2010

У вас недостаточно знаний о том, как веб-сервер обрабатывает запрос, когда установлен CakePHP.Предположим, что мы используем apache.В структуре папок тортов вы можете видеть файлы .htaccess в корневых каталогах, каталогах app и webroot, в которых есть правила перезаписи url.В конце обычный запрос к сайту cakephp будет преобразован в http://site.url.root/app/webroot/index.php?url=original.url

В двух словах, чтобы понять это с вашей точки зрения: этот index.php вызывает требуемые файлы php и, по крайней мере, приложение cakephpОбъект накапливается в памяти с необходимыми моделями и методами.Затем объект приложения, скажем, start и вызывает его методы (модель, контроллер и методы представления), а в конце он возвращает результат apache, который его вам предоставляет.

Следовательно, исходный путь URL - это ""несуществующий" виртуальный URL.

1 голос
/ 03 декабря 2012

Я исправил ту же проблему.Если вы используете Windows 7 OS, Wamp Server, CakePHP 2.2.3.затем

goto apache -> http.conf -> open -> поиск mod_rewrite -> раскомментируйте строку LoadModule rewrite_module modules/mod_rewrite.so

Теперь перезагрузите сервер, теперь он должен работать нормально.

1 голос
/ 01 сентября 2010

Если вы введете http://localhost/myProject/, получите ли вы начальную страницу торта?Если да, то это подчеркивает какие-либо проблемы?

Мне кажется, что у вас неправильно настроен Apache.Я не знаю, какую ОС вы используете, но, возможно, стоит проверить эту ссылку, написанную для Ubuntu, чтобы убедиться, что все в порядке: http://leoponton.blogspot.com/2010/05/getting-cakephp-up-and-running-on.html

0 голосов
/ 03 сентября 2010

Джерри, я думаю проблема в следующем. Вы поместили папку CakePHP в корень localhost. Я хотел бы предложить вам создать виртуальный хост, указывающий на myProject, таким образом, URL становится:

http://myProject/accounting

Это может решить вашу проблему. Убедитесь, что модуль перезаписи включен. Кроме того, когда вы указываете виртуальный хост на myProject, это должна быть папка APP в CakePHP. Если вы хотите запустить несколько проектов из одного ядра, вы можете настроить их так:

/var/www/cake
/var/www/html/myProject
/var/www/html/myProject2

Каталог / var / www / cake - это то место, куда вы кладете ядро ​​торта. В этом каталоге у вас будут торт, приложение, плагины, поставщики и т. Д. Каталоги myProject (2) будут содержимым каталога приложения.

Теперь, чтобы это сработало, вам нужно перейти в /var/www/html/myProject/webroot/index.php и отредактировать его так, чтобы он указывал на каталог cake в / var / www / cake. Это тогда загрузит ядро, когда перезапись указывает на index.php в webroot. Вам должно быть хорошо идти!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...