18

Ratchet アプリケーションのデモを実行しようとしていますが、ファイルを実行できません

これは私のファイル構造です

/var/www/src/MyApp/
/var/www/src/MyApp/chat.php
/var/www/src/MyApp/chat-server.php
<?php
Ratchet\Server\IoServer を使用します。
MyApp\Chat を使用します。

#require "chat.php";

    「vendor/autoload.php」が必要です。

    $server = IoServer::factory(
        新しいチャット()、
        8080
    );

    $server->run();
/var/www/src/MyApp/composer.json
{
    "オートロード": {
        "psr-0": {
            "MyApp": "src"
        }
    }、
    "必要とする": {
        "cboden/Ratchet": "0.3.*"
    }
}

ベンダー フォルダはこの場所に存在します

/var/www/src/MyApp/vendor/

ターミナルでチャットサーバーファイルを実行しているときはいつでも、次のエラーが発生しました

PHP Fatal error:  Class 'MyApp\Chat' not found in /MyApp/chat-server.php

これを解決する方法を教えてください

注:完全なコードの詳細は、このページにあります。

http://socketo.me/docs/hello-world

この質問がされましたが、その質問に対する回答もまだありませ ん C:\wamp\www\bin\chat-server.php にクラス 'MyChat\Chat' が見つかりません

4

7 に答える 7

19

composer.json ファイルとベンダー フォルダーがルートにない場合、機能しません。また、vendor フォルダー (およびサブフォルダー) には触れないでください。フォルダー構造は次のようにする必要があります。

/composer.json
/composer.phar
/vendor/[misc]
/src/MyApp/Chat.php

最後に、composer.json を更新した後、必ず更新を実行してください。

php composer.phar update

このように動作します。

于 2014-05-22T18:37:35.080 に答える
3

ここに私の作業構成があります:

root
├── bin
│   └── chat-server.php
├── src
│   └── Chat.php
├── composer.json
├── composer.lock
└── vendor
{
    "autoload": {
        "psr-4": {
            "MyApp\\": "src"
        }
    },
    "require": {
        "cboden/ratchet": "^0.4"
    }
}

このチュートリアルでは、 composer.jsonautoloadのセクションを追加/更新した後、自動ロード ファイルを再生成するために a を実行する必要があることについて言及していません。composer install

于 2021-01-07T14:55:00.010 に答える