Перенос веб-сайта Laravel 5.1 с локального хоста на веб-хост

Мой веб-сайт Laravel 5.1 отлично работает на моем локальном хосте. Я переместил все папки в папку «laravel», созданную вне root на хосте. Хост работает под управлением php 5.6. Затем переместил index.php (изначально в общую папку laravel) в public_html на хосте. Внесены некоторые изменения в index.php, чтобы он мог видеть начальную загрузку. Я мог видеть переднюю страницу входа, и в этот момент она не делала никаких обращений к базе данных. Следующим моим шагом было запустить кустарную миграцию, чтобы создать базу данных и заполнить ее. Когда я бежал:

php artisan migrate:refresh 

Я получил эту ошибку:

Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный T_CLASS, ожидание T_STRING или T_VARIABLE или '$' в /home/myself9/laravel/artisan в строке 31

и эта строка оказывается:

$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);

Я проверил, что необходимые расширения php установлены с php rev 5.6 моего хоста.

Расширение OpenSSL PHP PDO Расширение PHP Mbstring Расширение PHP Tokenizer Расширение PHP

Любые идеи?

введите здесь описание изображения


person sOltan    schedule 14.12.2015    source источник
comment
Вы запускали composer install после переноса файлов на хост?   -  person Vishal Sharma    schedule 14.12.2015
comment
Нет, я этого не делал. Это необходимо? что будет делать установка композитора?   -  person sOltan    schedule 14.12.2015
comment
Это необходимо, так как команды laravel не будут работать, если не установлен laravel framework. Однако это может быть частичным решением проблемы. Пожалуйста, попробуйте и дайте мне знать, что произойдет после этого   -  person Vishal Sharma    schedule 14.12.2015
comment
baboobi8@serv01 [~/laravel]# composer install -bash: composer: команда не найдена. Я подключился к своему веб-узлу с помощью SSH и запустил установку композитора из той же папки, где я видел файл composer.json.   -  person sOltan    schedule 14.12.2015
comment
Хорошо, что у вас есть SSH-ed. Следуйте моему ответу, и мы сможем продолжить отладку, если проблема не исчезнет.   -  person Vishal Sharma    schedule 14.12.2015


Ответы (2)


Хорошо, судя по вашему последнему комментарию, я вижу, что даже композитор не установлен. Вам нужно будет установить композитор, используя cURL на вашем общем хосте. Используйте команду ниже

curl -sS https://getcomposer.org/installer | php

(Я надеюсь, что php предустановлен на вашем хосте)

Теперь перейдите в каталог, где находятся composer.json и composer.lock, и запустите composer install, это установит все зависимости вашего проекта.

Как я уже сказал, это может быть частичное решение, но это начальные вещи, которые вам нужно сделать после переноса вашего проекта на сервер. Я обновлю этот ответ на основе ваших дальнейших комментариев.

ИЗМЕНИТЬ

Если ваш сервер является общим хостом, вам не будет разрешено запускать composer напрямую. Переместите composer.phar, который вы загрузили с помощью cURL, в корень вашего проекта и запустите php composer.phar install

person Vishal Sharma    schedule 14.12.2015
comment
baboobi8@serv01 [~/laravel]# curl -sS getcomposer.org/installer | php #!/usr/bin/env php Некоторые настройки вашего компьютера не позволяют Composer работать должным образом. Убедитесь, что вы устранили проблемы, перечисленные ниже, и снова запустите этот скрипт: Параметр detect_unicode должен быть отключен. Добавьте следующее в конец вашего php.ini: detect_unicode = Off php.ini, используемый вашей командной строкой PHP: /usr/local/php53/lib/php.ini Если вы не можете изменить файл ini, вы также можете запустите php -d option=value, чтобы изменить значения ini на лету. Вы можете использовать -d несколько раз. - person sOltan; 14.12.2015
comment
Следуйте, как говорится. Попробуйте запустить curl -sS https://getcomposer.org/installer | php -d detect_unicode=Off - person Vishal Sharma; 14.12.2015
comment
Кажется, это сработало. См. ниже, пожалуйста. baboobi8@serv01 [~]# curl -sS getcomposer.org/installer | php -d detect_unicode=off #!/usr/bin/env php Некоторые настройки на вашем компьютере могут вызвать проблемы со стабильностью в Composer. Если вы столкнулись с проблемами, попробуйте изменить следующее: PHP был скомпилирован с --with-curlwrappers, что вызовет проблемы с HTTP-аутентификацией и GitHub. Если возможно, перекомпилируйте его без этого флага Загрузка... Композитор успешно установлен в: /home/baboobi8/composer.phar Используйте его: php composer.phar - person sOltan; 14.12.2015
comment
для справки, файлы laravel (которые отлично работают на моем локальном хосте), я переместил их все в папку хоста /home/baboobi8/laravel/, где я вижу файлы composer.json и composer.lock. Я пошел туда и запустил установку композитора, но это не сработало, он сказал, что команда композитора не найдена. Я попытался установить php composer и все еще не работал --> не удалось открыть входной файл composer. - person sOltan; 14.12.2015
comment
перейдите в каталог, где находится ваш composer.json, и запустите php composer.phar install - person Vishal Sharma; 14.12.2015
comment
Вам нужно будет переместить файл composer.phar в тот же каталог, где находится файл composer.json, и запустить php composer.phar install. - person Vishal Sharma; 14.12.2015
comment
Давайте продолжим обсуждение в чате. - person sOltan; 14.12.2015

Просто добавьте cronjob следующим образом:

* * * * * /usr/local/bin/php /home/YOUR_USER/domains/YOUR_DOMAIN/artisan migrate:refresh >> /dev/null 2>&1
person Afshin    schedule 07.09.2017