Laravel по-русски

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

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

#1 Re: Laravel 4 » 404 ошибка вместо NotFoundHttpException » 26.07.2014 17:56:24

Всё я понял в чем дело
нужно было сделать

<VirtualHost *:80>
    ServerName my.dev
    ServerAlias www.my.dev
    DocumentRoot /home/volk/web/my.dev/public
    ServerAdmin me@localhost
    <Directory "/home/volk/web/my.dev">
        Require all granted
        Options +Indexes
        AllowOverride All
    </Directory>
</VirtualHost>

добавить AllowOverride All

#2 Laravel 4 » 404 ошибка вместо NotFoundHttpException » 26.07.2014 17:37:11

Faydaen
Ответов: 1

Я перешел с виныд на линукс (kubuntu), и решил самостоятельно сконфигурировать сервер.

Сервер я настроил вот такой конфигруарцией

<VirtualHost *:80>
    ServerName my.dev
    ServerAlias www.my.dev
    DocumentRoot /home/volk/web/my.dev/public
    ServerAdmin me@localhost
    <Directory "/home/volk/web/my.dev">
        Require all granted
        Options +Indexes
    </Directory>
</VirtualHost>

И когда я захожу в корень сайта то всё работает.

Но когда я иду по любым другим путям (в независимости указанны они в routes.php или нет), мне выдается 404 ошибка. Не ларавельевская страница NotFoundHttpException, а именно простая апачевксая 404 ошибка.

Полазив по гуглу я понял что это проблема в .htaccess
То-есть если в пути написано Route::get('tasks/', 'TasksController@index');
То такой путь срабатывает по адресу http://my.dev/index.php/tasks

.htaccess который лежит в public выглядеть вот так (таким его создал laravel.phar)

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

так же я пробовал заменять его на вот этот (найден вот тут )

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

но все равно ничего не поменялось
я даже права 777 на него выставил (на всякий случай)

Модуль rewrite я, кажется, подключил (изначально он не был включен, и я самостоятельно создал символьную ссылку)

volk@sivadra:/etc/apache2/mods-enabled$ ls -Fal | grep "rewrite" 
lrwxrwxrwx 1 root root   30 июля  26 16:28 rewrite.load -> ../mods-available/rewrite.load

Хотя, когда я делаю apache2ctl -l у меня вылезает

volk@sivadra:/etc/apache2/mods-enabled$ apache2ctl -l
Compiled in modules:
  core.c
  mod_so.c
  mod_watchdog.c
  http_core.c
  mod_log_config.c
  mod_logio.c
  mod_version.c
  mod_unixd.c
volk@sivadra:/etc/apache2/mods-enabled$ 

то-есть в этом списки модуля rewrite нет, что вызывает сомнения в подключенности этого модуля.

Подскажите, дело в том что модуль rewrite не подключился? Или в я что-то с конфигурацией сервера напутал?
И как это вылечить? Спасибо.

#3 Re: Веб-разработка » Ошибка 403 из за отсутвия index.php » 19.07.2014 19:48:16

Спасибо, я использовал вот такую конифигурацю

<VirtualHost *:80>
    ServerName vi.dev
    ServerAlias www.vi.dev
    DocumentRoot /home/volk/web/vi.dev/public
    ServerAdmin me@localhost
    <Directory "/home/volk/web/vi.dev">
        Require all granted
    </Directory>
</VirtualHost>

и кажется проблема с 403 исчезла. Теперь вместо неё сообщение Mcrypt PHP extension required.
сейчас буду разбираться как приделать mcrypt к php.

P.S.
Directory все таки важна, так как по умолчанию apache хочет чтобы сайты были вот тут /var/www/html, а я хочу чтобы они лежали в ~/web (созданная мной папка), чтобы каждый раз не заморачиваться с sudo при работе с сайтами.

#4 Веб-разработка » Ошибка 403 из за отсутвия index.php » 18.07.2014 19:27:56

Faydaen
Ответов: 6

У меня вот такая проблема
Раньше работал на винде и использовал OpenServer
Потом поставил линукс и решил как истинный джедай сам собрать связку apache + php + mysql
Вроде как-то собрал.
Но когда я поставил Laravel при попытки захода на главную страницу мне выдается ошибка "403 - Forbidden"

В логе ошибок написанно следующеие

[Sun Jul 13 03:22:03.532705 2014] [autoindex:error] [pid 29735] [client 127.0.0.1:37242] AH01276: Cannot serve directory /home/volk/web/vi.dev/: No matching DirectoryIndex (index.php,index.html) found, and server-generated directory index forbidden by Options directive

Как я понял это ларавель жалуется на отсутствие индексных файлов
Но ведь когда я точно таким же способом устанавливал на laravel на OpenServer и там тоже не было индексных файлов, но всё равно все работало.

У меня когнитивный диссонанс, по логике вещей лаверль без index.php не должен был работать и на OpenServer.

Конфигурация виртуального хоста выглядит вот так.

<VirtualHost *:80>
    ServerName vi.dev
    ServerAlias www.vi.dev
    DocumentRoot /home/volk/web/vi.dev
    ServerAdmin webmaster@localhost
    ErrorLog ${APACHE_LOG_DIR}/error.log
    <Directory "/home/volk/web/vi.dev">
        Require all granted
        DirectoryIndex index.php index.html
    </Directory>    
</VirtualHost>

Подскажите что за колдовская сила заставляет ларваель работать без index.php в корневой папке сайта?

И каким образом сделать чтобы он заработал и у меня?

#5 Re: Laravel 4 » Экранизация вывода » 15.05.2014 13:16:02

Спасибо за помощь. Похоже что у меня и правда допотопный сервер smile
оффтоп
у вас очень шикарный сайт и очень классные работы. Из секции "интерфейс" на вашем сайте я составил список того чему хочу научится)

#6 Re: Laravel 4 » Экранизация вывода » 13.05.2014 19:19:12

я когда в форме через Input::get() их получаю то она экранированная

#7 Laravel 4 » Экранизация вывода » 13.05.2014 10:43:48

Faydaen
Ответов: 5

Как убрать экранирование в Laravel?
То-есть в базе данных есть запись вида "what\'s your name?" (с экранированными кавычками)
И когда я передаю эту запись в вид она так и остается со слешом.
Я пробовал заключать в тройные скобки, но все равно выводится вместе со слешом
есть ли какой нибудь ларавельский способ убирать экранирование кроме родного phpшного stripcslashes()?
Ну или что по этой теме можно почитать?
Спасибо.

#8 Re: Laravel 4 » Не удается авторизовать пользователя » 21.04.2014 13:35:20

О спасибо… Я сделал пароль зашифрованным, вот так:

$user = User::find(1);
$user->password = Hash::make(’7u%m^nLLgt53y’);
$user->save();

и все заработало, спасибо Вам.

#9 Laravel 4 » Не удается авторизовать пользователя » 21.04.2014 11:39:46

Faydaen
Ответов: 3

у меня есть вот такая запись в базе данных (табличка users)

4909d825e5c932a934e9cfc0c60e22f3.jpeg

и вот такой метод контролера

    public function login(){

        if(Auth::attempt(['login'=>'admin','password'=>'123'])){
            echo "Удалось!";
        }
        else
        {
            echo "Не удалось!";
        }
        return View::make('login');

    }

И я пытаюсь авторизовать пользователя с помощью функции
но мне почему то выдает
"Не удалось!"
Совсем не понимаю в чем тут дело, подскажите пожалуйста почему не работает?

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