Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте, я начинающий разработчик. Раньше никогда не был знаком с фрэймворками. Опытные люди посоветовали начать с Ларавел. Возникла проблема с установкой.
На моей машинке стоит Denwer. Apache. PHP Version 5.3.13. Файлы проектов лежат в папках Z:\home\{{$имяПроекта}}\www\
При установке composer запускал из этой папки. При этом у меня появилась новая папка laravel в www, вроде все хорошо, только при обращении к адресу из браузера выдается просто список файлов и папок в www. А если обратиться к {{$имяПроекта}}/laravel/public выводит стартовую страницу ларавел. Насколько я понимаю composer не построил зависимости, или дело в чем то другом?
Спасибо.
Не в сети
1. Тебе необходимо запустит комнадную строку от имени администратора и пройти в папку где распокан у тебя Laravel
В моем случае
cd C:\wamp\www\laravel
далее тебе необходимо выполнить следующую команду
php artisan serve
Если все хорошо то появиться строка
Laravel development server started on http://localhost:8000
2. Можешь перейти на http://localhost:8000 и увидеть
А лучше воспользовать отличной статьей форума и установить WampServer
p.s.а еще лучше отказаться от Windows и перейти на Linux!!
Не в сети
Не в сети
Laravel не подходит Денверу, так как у последнего нельзя указать document root на произвольную папку, в случае Laravel - на папку public. У Денвера все железно должно быть в www и индивидуально никак не поменять (кроме как залезть в шаблон конфига Апача и добавить нужный VirtualHost)
Переходите с Денвера на Open Server (http://open-server.ru/) или другую сборку. WampServer может быть неудобен тем, что там нельзя создать виртуальный домен, нужно все держать в папках на http://localhost . Но, возможно, я ошибаюсь, и это уже поправили.
Не в сети
Laravel не подходит Денверу, так как у последнего нельзя указать document root на произвольную папку, в случае Laravel - на папку public. У Денвера все железно должно быть в www и индивидуально никак не поменять (кроме как залезть в шаблон конфига Апача и добавить нужный VirtualHost)
Переходите с Денвера на Open Server (http://open-server.ru/) или другую сборку. WampServer может быть неудобен тем, что там нельзя создать виртуальный домен, нужно все держать в папках на http://localhost . Но, возможно, я ошибаюсь, и это уже поправили.
Встроенными методами сделать виртуальный хост нельзя, но можно чучуть отредактировать)
Не в сети
Спасибо всем за ответы. А можно ли файлом .htaccess сделать редирект на laravel/public. У меня просто на Denwer'е сейчас 5 проектов и все остальные работают из корневой www. Не очень удобно менять настройки апач, все полетит сразу.
Наверное откажусь от ларавел, буду смотреть в сторону Yii. Там все проще вроде с установкой и документация понятнее.
Не в сети
Можешь положить файлы фреймворка в папку домена, а папка www, которая в нем лежит, будет папкой public. Поставь в bootstrap/paths.php
'public' => __DIR__.'/../www',
Не в сети
Можешь положить файлы фреймворка в папку домена, а папка www, которая в нем лежит, будет папкой public. Поставь в bootstrap/paths.php
'public' => __DIR__.'/../www',
Спасибо! Помогло!)
насколько, я понимаю, в пути "/.../" это выход из директории на один шаг вверх?
Изменено niocncn (09.12.2013 13:11:32)
Не в сети
Да, это путь относительно физического расположения файла paths.php
Не в сети
Можешь положить файлы фреймворка в папку домена, а папка www, которая в нем лежит, будет папкой public. Поставь в bootstrap/paths.php
'public' => __DIR__.'/../www',
Скажите __DIR__ нужно самому указывать или это служебная команда? И с какой версии php она появилась?
Сделал как вы описали но выдается ошибка:
Warning: require(__DIR__/../bootstrap/autoload.php) [function.require]: failed to open stream: No such file or directory in Z:\home\backbone.rus\www\index.php on line 21
Fatal error: require() [function.require]: Failed opening required '__DIR__/../bootstrap/autoload.php' (include_path='.;/usr/local/php5/PEAR') in Z:\home\backbone.rus\www\index.php on line 21
Не в сети
- Скажите __DIR__ нужно самому указывать или это служебная команда? И с какой версии php она появилась?
__DIR__ — «магическая» константа PHP., см. список в доке. Она указывает на папку, где расположен __FILE__, который в свою очередь содержит путь к файлу PHP-скрипта, в котором этот __FILE__ используется. __FILE__ была «всегда», __DIR__ появилась в PHP 5.3. Для Laravel минимальная версия PHP — 5.3, скоро по-видимому будет даже 5.4.
Не в сети
У меня тоже denwer с многими проектами и переходить не хотелось, поступил следующим образом:
1. Перенес все папки фреймворка в отдельную директорию "www/laravel"
2. Из папки "www/laravel/public" все файлы скопировал в корень (в "www"), папку удалил.
3. В файле "www/index.php" изменил строку на
$app = require_once __DIR__.'/laravel/bootstrap/start.php';
4. В файле "www/laravel/bootstrap/paths.php":
'public' => __DIR__.'/../../',
Если вам нужна просто запустить под Денвер для тестирования проще всего вот это в .htaccess прописать
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
ну а для оаботы командной строки укажите в системной переменной PATH вашей системы путь к php5 и дальше как обычно dir>php composer.phar install
Не в сети
Страницы 1