Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 07.12.2013 12:53:38

Laravel Denwer

Здравствуйте, я начинающий разработчик. Раньше никогда не был знаком с фрэймворками. Опытные люди посоветовали начать с Ларавел. Возникла проблема с установкой.
На моей машинке стоит Denwer. Apache. PHP Version 5.3.13. Файлы проектов лежат в папках Z:\home\{{$имяПроекта}}\www\
При установке composer запускал из этой папки. При этом у меня появилась новая папка laravel в www, вроде все хорошо, только при обращении к адресу из браузера выдается просто список файлов и папок в www. А если обратиться к {{$имяПроекта}}/laravel/public выводит стартовую страницу ларавел. Насколько я понимаю composer не построил зависимости, или дело в чем то другом?
Спасибо.

Не в сети

#2 08.12.2013 15:36:53

Re: Laravel Denwer

1. Тебе необходимо запустит комнадную строку от имени администратора и пройти в папку где распокан у тебя Laravel
В  моем случае

cd C:\wamp\www\laravel

далее тебе необходимо выполнить следующую команду

 php artisan serve

Если все хорошо то появиться строка

Laravel development server started on http://localhost:8000

2. Можешь перейти на   http://localhost:8000 и увидеть
03f6a4b69dd9t.jpg

А лучше воспользовать отличной статьей форума и установить WampServer

p.s.а еще лучше отказаться от Windows и перейти на Linux!!

Не в сети

#3 08.12.2013 16:43:20

Re: Laravel Denwer

  1. p.s.а еще лучше отказаться от Windows и перейти на Linux!!

Совсем необязательно, я за последние 10 лет web-разработки ничуть от Windows не пострадал ☺ ИМХО, сервера хорошо «водить», но пользоваться ими как рабочей ОС — удовольствие не для всех.

А вот перейти на WAMPP/XAMPP — хороший совет.

Не в сети

#4 08.12.2013 17:00:48

medar
Откуда: Москва
Сообщений: 36

Re: Laravel Denwer

Laravel не подходит Денверу, так как у последнего нельзя указать document root на произвольную папку, в случае Laravel - на папку public. У Денвера все железно должно быть в www и индивидуально никак не поменять (кроме как залезть в шаблон конфига Апача и добавить нужный VirtualHost)

Переходите с Денвера на Open Server (http://open-server.ru/) или другую сборку. WampServer может быть неудобен тем, что там нельзя создать виртуальный домен, нужно все держать в папках на http://localhost . Но, возможно, я ошибаюсь, и это уже поправили.

Не в сети

#5 08.12.2013 21:48:28

Re: Laravel Denwer

medar пишет:

Laravel не подходит Денверу, так как у последнего нельзя указать document root на произвольную папку, в случае Laravel - на папку public. У Денвера все железно должно быть в www и индивидуально никак не поменять (кроме как залезть в шаблон конфига Апача и добавить нужный VirtualHost)

Переходите с Денвера на Open Server (http://open-server.ru/) или другую сборку. WampServer может быть неудобен тем, что там нельзя создать виртуальный домен, нужно все держать в папках на http://localhost . Но, возможно, я ошибаюсь, и это уже поправили.


Встроенными методами сделать виртуальный хост нельзя, но можно чучуть отредактировать)

Не в сети

#6 09.12.2013 11:21:15

Re: Laravel Denwer

Спасибо всем за ответы. А можно ли файлом .htaccess сделать редирект на laravel/public. У меня просто на Denwer'е сейчас 5 проектов и все остальные работают из корневой www. Не очень удобно менять настройки апач, все полетит сразу.
Наверное откажусь от ларавел, буду смотреть в сторону Yii. Там все проще вроде с установкой и документация понятнее.

Не в сети

#7 09.12.2013 12:41:37

medar
Откуда: Москва
Сообщений: 36

Re: Laravel Denwer

Можешь положить файлы фреймворка в папку домена, а папка www, которая в нем лежит, будет папкой public. Поставь в bootstrap/paths.php

'public' => __DIR__.'/../www',

Не в сети

#8 09.12.2013 13:06:28

Re: Laravel Denwer

medar пишет:

Можешь положить файлы фреймворка в папку домена, а папка www, которая в нем лежит, будет папкой public. Поставь в bootstrap/paths.php

'public' => __DIR__.'/../www',

Спасибо! Помогло!)

насколько, я понимаю, в пути "/.../" это выход из директории на один шаг вверх?

Изменено niocncn (09.12.2013 13:11:32)

Не в сети

#9 09.12.2013 13:45:18

medar
Откуда: Москва
Сообщений: 36

Re: Laravel Denwer

Да, это путь относительно физического расположения файла paths.php

Не в сети

#10 17.01.2014 16:24:47

Re: Laravel Denwer

medar пишет:

Можешь положить файлы фреймворка в папку домена, а папка 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

Не в сети

#11 17.01.2014 19:43:36

Re: Laravel Denwer

  1. Скажите __DIR__ нужно самому указывать или это служебная команда? И с какой версии php она появилась?

__DIR__ — «магическая» константа PHP., см. список в доке. Она указывает на папку, где расположен __FILE__, который в свою очередь содержит путь к файлу PHP-скрипта, в котором этот __FILE__ используется. __FILE__ была «всегда», __DIR__ появилась в PHP 5.3. Для Laravel минимальная версия PHP — 5.3, скоро по-видимому будет даже 5.4.

Не в сети

#12 23.02.2014 07:46:48

Андрей

Re: Laravel Denwer

У меня тоже 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__.'/../../',

#13 23.02.2014 08:53:39

Re: Laravel Denwer

Если вам нужна просто запустить под Денвер для тестирования проще всего вот это в .htaccess прописать

RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]

ну а для оаботы командной строки укажите в системной переменной PATH вашей системы путь к php5 и дальше как обычно dir>php composer.phar install

Не в сети

Подвал раздела