Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день!
Начал изучать этот прекрасный фреймворк, учусь и тестирую на локальной машине в опенсервере.
Сегодня попытался воспроизвести установку на VPS через композер. В итоге все файлы залились, но сайт не работает.
http://iqplanets.ru/blog/public/
Вот данные php:
http://iqplanets.ru/info.php
.htaccess оставил как было при установке:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
попробовал через консоль запустить артизан и вот что получил:
--------------------------------------------
[root@thelh blog]# php artisan clear-compiled
PHP Warning: require(/var/www/admin/data/www/iqplanets.ru/blog/bootstrap/../ven dor/autoload.php): failed to open stream: No such file or directory in /var/www/ admin/data/www/iqplanets.ru/blog/bootstrap/autoload.php on line 17
PHP Fatal error: require(): Failed opening required '/var/www/admin/data/www/iq planets.ru/blog/bootstrap/../vendor/autoload.php' (include_path='.:/usr/share/pe ar:/usr/share/php') in /var/www/admin/data/www/iqplanets.ru/blog/bootstrap/autol oad.php on line 17
[root@thelh blog]# php artisan
PHP Warning: require(/var/www/admin/data/www/iqplanets.ru/blog/bootstrap/../ven dor/autoload.php): failed to open stream: No such file or directory in /var/www/ admin/data/www/iqplanets.ru/blog/bootstrap/autoload.php on line 17
PHP Fatal error: require(): Failed opening required '/var/www/admin/data/www/iq planets.ru/blog/bootstrap/../vendor/autoload.php' (include_path='.:/usr/share/pe ar:/usr/share/php') in /var/www/admin/data/www/iqplanets.ru/blog/bootstrap/autol oad.php on line 17
--------------------------------------------
Буду признателен, если кто подскажет как запустить Laravel!
Спасибо!
Не в сети
1. вебсервер должен смотреть в папку public а не в корень проекта.
2. установку _СТОИТ_ производить по методу laravel new blog, описанному в документации по установке. Так как оно само все права на файлы выставит и настроит "коробочку".
Не в сети
Спасибо, что так быстро отреагировали на вопрос!
Хотел вначале именно первым способом установить, но не понял, как вот это необходимо сделать:
"Не забудьте поместить каталог ~/.composer/vendor/bin в вашу переменную PATH, чтобы исполняемый файл laravel мог быть найден вашей системой."
нужно в терминале перейти по этому пути и выполнить от туда команду laravel new blog?
Вот что я проделал:
-------------------------
[root@thelh iqplanets.ru]# php composer.phar global require "laravel/installer" Changed current directory to /root/.composer
Using version ^1.3 for laravel/installer
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing symfony/process (v3.1.2)
Downloading: 100%
- Installing symfony/polyfill-mbstring (v1.2.0)
Downloading: 100%
- Installing symfony/console (v3.1.2)
Downloading: 100%
- Installing guzzlehttp/promises (1.2.0)
Downloading: 100%
- Installing psr/http-message (1.0)
Downloading: 100%
- Installing guzzlehttp/psr7 (1.3.1)
Downloading: 100%
- Installing guzzlehttp/guzzle (6.2.1)
Downloading: 100%
- Installing laravel/installer (v1.3.3)
Downloading: 100%
symfony/console suggests installing symfony/event-dispatcher ()
symfony/console suggests installing psr/log (For using the console logger)
Writing lock file
Generating autoload files
[root@thelh iqplanets.ru]# laravel new crm
-bash: laravel: command not found
[root@thelh iqplanets.ru]# ^C
[root@thelh iqplanets.ru]# cd /root/.composer/vendor/bin
[root@thelh bin]# ls
laravel
[root@thelh bin]# laravel new crm
-bash: laravel: command not found
[root@thelh bin]# php laravel new crm
Crafting application...
sh: composer: command not found
Application ready! Build something amazing.
--------------------------
Вроде в конце надпись "Application ready! Build something amazing." но я не нашел куда оно поставилось если поставилось))))
Подскажите, пожалуйста, где ошибся?
Не в сети
Нашел, куда он установил))))
/root/.composer/vendor/bin/ вот сюда
вместо
/var/www/admin/data/www/iqplanets.ru
Осталось понять, как указать ему место установки...
Не в сети
И понял как устанавливать нужную директорию)))
Может таким же нубам как я пригодится:
в терминале нужно запустить: export PATH="$PATH:$HOME/.composer/vendor/bin"
потом перейти в директорию где вы хотите создать сайт и указать название далее по инструкции.
Как рекомендовали (https://laravel.ru/forum/viewtopic.php?id=728), создал еще в корне .htaccess и прописал в нем
Options Indexes FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
В итоге после этих манипуляция получилось поставить ларавель по инструкции, но результат не сколько не изменился - сайт не пашет и та же самая ошибка - Internal Server Error 500. Фиг знает куда рыть, есть еще какие идеи?
Не в сети
из под рута работать нельзя, это супер-пользователь. им управлять системой надо, а не сайты вертеть.
создай пользователя и из под него всё делай.
Не в сети
повторил все от пользователя, эффекта не дало(
Не в сети
Все норм, разобрался)))
Перставил Ununtu, поставил по инструкции ларавел, выставил права и все заработало.
Для смены public на корень изменил настройки в конфиге апач. Нужно дописать public в DocumentRoot.
Остался один вопрос, может кто сталкивался:
В дефолтном .htaccess есть строка:
Options -MultiViews
Если ее оставить, то ларавел не работает, если закомментировать, то все ок. На сколько критично оставлять включенной опцию MultiViews и если критично, то как ее выключить, так как через htaccess не выходит.
Не в сети
убей строку, или разбирайся с директивой AllowOverride all
Не в сети
убей строку, или разбирайся с директивой AllowOverride all
Это я понял, что можно ее просто убить)))) Но на сколько я понял могут быть тогда проблемы с безопасность. Я верно понял или я слишком заморачиваюсь и стоит реально просто ее убить?
Не в сети
Вроде разобрался. Вот что нагуглил:
"Ошибка там вылезает т.к., скорее всего, MultiViews вообще нет на сервере, поэтому выключить его нельзя.
А раз нет на сервере, то отключать не нужно и строку Options -MultiViews
можно попытаться убрать и проверить все ли там будет работать. Предположительно, должно работать."
Источник - https://nulled.in/threads/143436/
Не в сети
есть он на сервере, но до него надо добраться ещё. просто убей директиву. жить не мешает.
а лучше вообще апачем не пользуйся.
Не в сети
Страницы 1