По какой-то причине я начал получать эту ошибку через несколько дней. Я ничего не менял с того времени, когда приложение Laravel работало до того момента, когда оно выбросило эту ошибку синтаксического анализа:
Parse error: syntax error, unexpected T_USE, expecting T_FUNCTION in /home/fzystudi/public_html/vendor/laravel/framework/src/Illuminate/Support/Str.php on line 7
Вот сайт с ошибкой.
Вот что я пытался решить ошибки:
Я вытерла все чистое и снова установила laravel. Такая же ошибка. Поэтому я сделал обновление для композитора. Все равно никаких изменений. Я еще раз обновлял композитор и не изменял никаких изменений.
Я также загрузил версию разработчика и стабильную версию. Все равно никакой разницы.
Я клонировал точный файл из str.php, и файл такой же в github, как и в моем приложении на моем ftp-сервере.
Я загрузил хостинг-сервер и хостинг A2. Такая же ошибка на обоих сайтах.
Вот тема на форуме laravel, который я опубликовал. Пока никто не смог помочь.
Что, по-видимому, является причиной и в чем проблема?
Это мой контроллер:
<?php
class SiteController extends BaseController {
public function __construct() {
//parent::__construct();
$this->beforeFilter('csrf', array('on'=>'post'));
}
//homepage for our store
public function getIndex() {
return View::make('site.index');
}
}
Мой композитор.json:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"require": {
"laravel/laravel": "4.1.*"
},
"autoload": {
"classmap": [
"app/commands",
"app/controllers",
"app/models",
"app/database/migrations",
"app/database/seeds",
"app/tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
},
"minimum-stability": "stable"
}
Это звучит так, будто вы получаете версию Laravel, которая начала использовать черты. Я предполагаю, что строка 7 файла Str.php
в вашем каталоге vendor
выглядит примерно так?
use MacroableTrait;
Вы должны проверить свой файл composer.json
чтобы убедиться, что вы зависите от стабильной версии Laravel 4.1.
"laravel/laravel": "4.1.*"
Возможно, вам придется снова удалить каталог вашего vendor
а также файл composer.lock
. Если вы не удалите файл блокировки, вы просто снова установите те же самые зависимости. После установки вы можете проверить версию, которую вы используете, запустив artisan --version
из командной строки в установленной директории.