2

この質問で言及されている Symfony コードベースでは、FOSUserBundle をインストールした後、ローカルで動作しますが、リモート サーバーではブートストラップにさえ到達せず、HTTP 500 エラー ページが表示されます。

編集:災害は次の行で発生しているようですapp_dev.php

$kernel = new AppKernel('dev', true);

リモートサーバーで次のようなエラーが発生します。

Fatal error: Class 'Symfony\Component\HttpFoundation\Request' not found in [docroot]/web/app.php on line 22

または-ドキュメントルートの下にあるすべてを削除し、更新し(composer updateおよび、この回答composer update -oに従って)、展開した後:

Fatal error: Cannot redeclare class 
Symfony\\Component\\HttpFoundation\\Session\\Storage\\NativeSessionStorage in
[docroot]/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php
on line 25

Symfony のキャッシュをクリアし、ディレクトリapp/cache/devapp/cache/prod/ディレクトリを削除しましたが、うまくいきませんでした。

私が得られない別のこと:app/console cache:clearリモートでこのエラーが発生します:

Fatal error: Cannot redeclare class 
EnhancedProxy_72114c0f8683bcc2a66ceccb136abe5a78f8577e\__CG__\Acme\DemoBundle\Controller\SecuredController
in [docroot]/app/cache/de_/jms_diextra/proxies/Acme-DemoBundle-Controller-SecuredController.php
on line 28

ところで、なぜディレクトリapp/cache/de_(devと以外prod) が作成されるのですか?

composer.json 完全を期すために、 my hereを見つけることができます。

何が問題になる可能性がありますか? ローカル プラットフォームとリモート プラットフォームは異なりますが、エラーはサーバー構成ではなくコードに関連しているようです。

ローカル マシン:

  • ウィンドウズ7
  • Zend サーバー CE
  • アパッチ 2.2
  • PHP 5.3.14 (Apache モジュール)
  • MySQL 5.1
  • APC

リモート マシン:

  • Ubuntu 12.04
  • アパッチ 2.2
  • PHP 5.3.10 fpm (fastcgi)
  • MySQL 5.5
  • APC

なにか提案を?これをデバッグする方法についても?私はSymfonyをあきらめることを考え始めています:(

4

4 に答える 4

1

可能な解決策は次のとおりです。

  1. Composer は完成していません (使用composer updateすると大量のリソースが使用されるためcomposer install、リモート環境では常にロック ファイルから使用してください)。ローカルの開発環境から最新のロック ファイルを配置し、再インストールする必要があります。http://getcomposer.org/doc/03-cli.md#install--optimize-autoloader (-o)に記載されているように、パラメーターも指定します

  2. config で apc キャッシュを有効にしましたがapp.php、/web ディレクトリのスタートアップ ファイル (通常は ) に正しく実装していませんでした。その場合、新規ダウンロードまたはhttps://github.com/dbu/symfony-project/blob/master/web/app.phpで APC 対応ファイルを確認してください。コメントされた部分はコメント解除する必要があります。

于 2013-06-02T22:54:05.257 に答える
1

同様の問題があり、Request クラスの欠落から始まりましたが、そこで終わりませんでした。私の FTP クライアント (FileZilla および WinSCP) で、リモート サーバーの転送に問題があり、成功を報告しましたが、結果として 0 バイトのファイルが生成されたことがわかりました (Windows 7 の場合)。

転送設定でいくつかのことを試しましたが、うまくいきませんでした。WinSCP は少なくとも、リモート マシンのファイル ロックが原因で切断された後、転送が失敗したことを報告します。その結果、プロジェクトは 0 バイトのファイルとオートローダーの障害でいっぱいになりました。

別の FTP クライアント (CoffeeCup FreeFTP) に切り替えたところ、問題なく転送されました。現時点では、他のクライアントでこの問題が発生した理由は不明です。残念ながら、ホスティング サポートでも説明できませんでした。

于 2013-06-03T14:31:26.710 に答える