Laravel 4 миграции - класс, не найденный

Этот вопрос теперь решен - я использовал ниже:

И, проблема решена благодаря IRC. Мне сказали бежать

php composer.phar dump-autoload

Это решает проблему для меня. Это, вероятно, связано с моей странной установкой Композитора.


Я только что начал играть с Laravel 4 для возможного будущего проекта, произойдя из Laravel 3. Я начался, создав новую миграцию, create_blogs_table использование ремесленника:

php artisan migrate:make create_blogs_table --table=blogs --create

Это произвело основную файловую структуру миграции, которую я тогда заполнил немного больше:

<?php

use Illuminate\Database\Migrations\Migration;

class CreateBlogsTable extends Migration
{

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blogs', function($table)
        {
            $table->increments('id');
            $table->string('title');
            $table->text('description')->nullable();
            $table->integer('user_id')->unsigned();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('blogs');
    }
}

Я теперь пытаюсь управлять этой миграцией, используя ремесленника еще раз:

php artisan migrate --env=local

*обратите внимание, что мне настраивали связь локальной базы данных для областей с .dev расширением

Ранее это работало бы просто великолепно (в Laravel 3), но с Иллюминатом я тогда получаю эту ошибку:

PHP Fatal error:  Class 'CreateBlogsTable' not found in /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php on line 301
PHP Stack trace:
PHP   1. {main}() /var/www/gamingsite/artisan:0
PHP   2. Symfony\Component\Console\Application->run() /var/www/gamingsite/artisan:57
PHP   3. Symfony\Component\Console\Application->doRun() /var/www/gamingsite/vendor/symfony/console/Symfony/Component/Console/Application.php:106
PHP   4. Illuminate\Console\Command->run() /var/www/gamingsite/vendor/symfony/console/Symfony/Component/Console/Application.php:193
PHP   5. Symfony\Component\Console\Command\Command->run() /var/www/gamingsite/vendor/illuminate/console/src/Illuminate/Console/Command.php:95
PHP   6. Illuminate\Console\Command->execute() /var/www/gamingsite/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:240
PHP   7. Illuminate\Database\Console\Migrations\MigrateCommand->fire() /var/www/gamingsite/vendor/illuminate/console/src/Illuminate/Console/Command.php:107
PHP   8. Illuminate\Database\Migrations\Migrator->run() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:69
PHP   9. Illuminate\Database\Migrations\Migrator->runMigrationList() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php:75
PHP  10. Illuminate\Database\Migrations\Migrator->runUp() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php:106
PHP  11. Illuminate\Database\Migrations\Migrator->resolve() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php:125
PHP Fatal error:  Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/gamingsite/app/start/../storage/logs/log-2012-12-28.txt" could not be opened: failed to open stream: Permission denied' in /var/www/gamingsite/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:71
Stack trace:
#0 /var/www/gamingsite/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(77): Monolog\Handler\StreamHandler->write(Array)
#1 /var/www/gamingsite/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\RotatingFileHandler->write(Array)
#2 /var/www/gamingsite/vendor/monolog/monolog/src/Monolog/Logger.php(214): Monolog\Handler\AbstractProcessingHandler->handle(Array)
#3 /var/www/gamingsite/vendor/monolog/monolog/src/Monolog/Logger.php(278): Monolog\Logger->addRecord(400, Object(Symfony\Component\HttpKernel\Exception\FatalErrorException), Array)
#4 [internal function]: Monolog\Logger->addError(Object(Symfony\Component\HttpKernel\Exception\FatalErrorExcepti in /var/www/gamingsite/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 71
PHP Stack trace:
PHP   1. {main}() /var/www/gamingsite/artisan:0
PHP   2. Symfony\Component\Console\Application->run() /var/www/gamingsite/artisan:57
PHP   3. Symfony\Component\Console\Application->doRun() /var/www/gamingsite/vendor/symfony/console/Symfony/Component/Console/Application.php:106
PHP   4. Illuminate\Console\Command->run() /var/www/gamingsite/vendor/symfony/console/Symfony/Component/Console/Application.php:193
PHP   5. Symfony\Component\Console\Command\Command->run() /var/www/gamingsite/vendor/illuminate/console/src/Illuminate/Console/Command.php:95
PHP   6. Illuminate\Console\Command->execute() /var/www/gamingsite/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:240
PHP   7. Illuminate\Database\Console\Migrations\MigrateCommand->fire() /var/www/gamingsite/vendor/illuminate/console/src/Illuminate/Console/Command.php:107
PHP   8. Illuminate\Database\Migrations\Migrator->run() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:69
PHP   9. Illuminate\Database\Migrations\Migrator->runMigrationList() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php:75
PHP  10. Illuminate\Database\Migrations\Migrator->runUp() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php:106
PHP  11. Illuminate\Database\Migrations\Migrator->resolve() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php:125

Я проверил, и database/migrations/папка, конечно, автозагружается. Я понятия не имею, какова причина для этой проблемы может быть. Спросив относительно IRC и googled, я все еще абсолютно невежествен так, надо надеяться, кто-то может помочь мне здесь.

Заранее спасибо!

25
nl ja de

4 ответы

Я имел эту ошибку на xubuntu и зафиксировал его с sudo автогрузом свалки композитора

28
добавлено
Да это работало на меня!
добавлено автор Ortix92, источник

В Laravel 4 (иллюминат) класс миграции не требуют, чтобы вы установили неподписанный метод. Можно попробовать это.

  class CreateBlogsTable extends Migration
{

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('blogs', function($table)
        {
            $table->increments('id');
            $table->string('title');
            $table->text('description')->nullable();
            $table->integer('user_id');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('blogs');
    }
}

После наличия беседы с вами я знал две проблемы, каждый - то, что уже упомянутый выше и другая проблема происходит из-за класса, не зарегистрированный в автогруз композитора. Необходимо будет бежать вручную: PHP composer.phar автогруз свалки

16
добавлено
имел ту же самую проблему, управлять PHP composer.phar автогруз свалки работал.
добавлено автор Rob, источник
Просто попробованный это и все еще никакая удача. Я все еще получаю класс, не найденный ошибкой.
добавлено автор euantorano, источник
Я только что обновил ответ.
добавлено автор Raftalks, источник

Ремесленник делает ту же самую работу:

php artisan dump-autoload

Просто напоминание для тех, кто не знаком с композитор .

15
добавлено
Это на самом деле лучше, чем использование композитора, поскольку оно производит оптимизированный classmap
добавлено автор developerbmw, источник
На самом деле эта команда didn' t существуют для меня, но автогруз свалки композитора решил проблему. Спасибо! Для идеи, по крайней мере.
добавлено автор IIllIIll, источник
Те, кто ищет проблему, пожалуйста заметили, что этот вопрос 3 года назад, и версия laravel равняется 4. И само программное обеспечение продолжает изменяться. Это означает, эта команда does' t существуют в последнем ремесленнике .Thank you.
добавлено автор Yarco, источник

Обновите своего композитора ( самообновление композитора ), затем управляйте своими функциями композитора.

1
добавлено
Laravel Pro
Laravel Pro
3 430 участник(ов)

Официальный чат для всех программистов, работающих с PHP-фреймворком Laravel. Одобрен Тэйлором Вакансии: @fordev @jobgeeks

Laravel Framework Russian Community
Laravel Framework Russian Community
2 350 участник(ов)

Правила. Уважайте друг друга, скриншоты давайте ссылками, большие куски кода выкладывайте на https://implode.io/ Вакансии публикуются в VK группе (vk.com/laravel_rus) с указанием диапазона оплаты труда - здесь даем ссылку. За мат, рекламу - бан.

Laravel для начинающих
Laravel для начинающих
1 658 участник(ов)

Чат для программистов, изучающих PHP-фреймворк Laravel. Здесь не прогоняют новичков. Правила здесь: https://t.me/laravel_web/188295

Laravel - вакансии, работа, фриланс
Laravel - вакансии, работа, фриланс
114 участник(ов)

Пишите тут вакансии, заказы. Укажите зарплату или бюджет за проект. Партнёры: @yiijobs, Laravel Answer-ID.com