質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.35%

laravelでの障害に困っています

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,654

onceupon05

score 11

laravelの学習を「ララ帳」というサイトを使用して学習しております。

その中で、16回目のセクションで、障害が発生して解決できませんでしたので質問をしております。

障害の詳細は、laravelを実行する際に「php artisan serve」を実行した際に以下のようなエラーメッセージが出力されます。15回目までは問題なくサーバを起動させることができていたので、16回目のどこかが原因であると考えております。

障害の内容は、以下です。
「PHP Fatal error:  Cannot redeclare composerRequire08927e2e54f818fe855047530583b9f5() (previously declared in /Users/username/MyVagrant/myLaravelTest/config/vendor/composer/autoload_real.php:64) in /Users/username/MyVagrant/myLaravelTest/config/vendor/composer/autoload_real.php on line 71」

「autoload_real.php」に同名の関数を複数宣言していることが原因であると考えましたが、「autoload_real.php」にはそのような箇所は見受けられませんでした。
「autoload_real.php」のソースは以下です。

<?php
// autoload_real.php @generated by Composer

class ComposerAutoloaderInit08927e2e54f818fe855047530583b9f5
{

    private static $loader;

    public static function loadClassLoader($class)
    {
        if ('Composer\Autoload\ClassLoader' === $class) {
            require __DIR__ . '/ClassLoader.php';
        }
    }

    public static function getLoader()
    {
        if (null !== self::$loader) {
            return self::$loader;
        }

        spl_autoload_register(array('ComposerAutoloaderInit08927e2e54f818fe855047530583b9f5', 'loadClassLoader'), true, true);
        self::$loader = $loader = new \Composer\Autoload\ClassLoader();
        spl_autoload_unregister(array('ComposerAutoloaderInit08927e2e54f818fe855047530583b9f5', 'loadClassLoader'));

        $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
        if ($useStaticLoader) {
            require_once __DIR__ . '/autoload_static.php';

            call_user_func(\Composer\Autoload\ComposerStaticInit08927e2e54f818fe855047530583b9f5::getInitializer($loader));
        } else {
            $map = require __DIR__ . '/autoload_namespaces.php';
            foreach ($map as $namespace => $path) {
                $loader->set($namespace, $path);
            }

            $map = require __DIR__ . '/autoload_psr4.php';
            foreach ($map as $namespace => $path) {
                $loader->setPsr4($namespace, $path);
            }

            $classMap = require __DIR__ . '/autoload_classmap.php';
            if ($classMap) {
                $loader->addClassMap($classMap);
            }
        }

        $loader->register(true);

        if ($useStaticLoader) {
            $includeFiles = Composer\Autoload\ComposerStaticInit08927e2e54f818fe855047530583b9f5::$files;
        } else {
            $includeFiles = require __DIR__ . '/autoload_files.php';
        }
        foreach ($includeFiles as $fileIdentifier => $file) {
            composerRequire08927e2e54f818fe855047530583b9f5($fileIdentifier, $file);
        }

        return $loader;
    }
}

function composerRequire08927e2e54f818fe855047530583b9f5($fileIdentifier, $file)
{
    if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
        require $file;

        $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
    }
}

同様の問題に直面したことがある方や、案があればご教授頂きたいです。
よろしくお願いします。
実行環境はOS X EL Capitan、laravelのバージョンは5.2です。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

「myLaravelTest」というのがプロジェクトルートですよね。
エラーメッセージを見ると何故かconfigディレクトリ下にvendor/以下が存在しているように見えます。
vendor/以下はプロジェクトルート直下に一つだけあるのが普通です。
myLaravelTest/vendor/ 以外にvendor/があるとしたら間違いです。
一旦プロジェクトルート直下のものも含め、vendor/とcomposer.lockファイルをすべて削除し、
myLaravelTestディレクトリ内でcomposer updateしてみてください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/07/08 10:10

    動きました!ありがとうございます!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.35%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る