2015-09-08 13 views
6

を作成:\ xamppの\ htdocsに\ SYM1 \ブログ、私は手動でこのDocumentSymfony2の最初のコントローラが、私はCでSymfony2の2.7をインストールした404

<?php 
// src/AppBundle/Controller/LuckyController.php 
namespace AppBundle\Controller; 

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use Symfony\Component\HttpFoundation\Response; 

class LuckyController extends Controller 
{ 
    /** 
    * @Route("/lucky/number") 
    */ 
    public function numberAction() 
    { 
     $number = rand(0, 100); 

     return new Response(
      '<html><body>Lucky number: '.$number.'</body></html>' 
     ); 
    } 
} 

が、以下の新しいコントローラを作成し、私は

に行くとき

http://localhost/sym1/blog/web/lucky/number

または

http://localhost/sym1/blog/app_dev.php/lucky/number

それだけで

Oops! An Error Occurred 

The server returned a "404 Not Found". 

Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused. 

誰もが問題だ知っているが表示さ?

--update--

だけコメントこの

#RewriteRule .? %{ENV:BASE}/app.php [L] 

を、私を見つけたことだし、これら2つのライン

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ app_dev.php [QSA,L] 

が追加されます[OK]を、しかし、添付のパフォーマンスバーがありますページの下部にあります。

+1

ラン 'PHPアプリ/コンソールキャッシュ:明確な--env = prod'あなたは、生産上の変更を確認するたびに。 – malcolm

答えて

7

私は、Symfony2の環境の概念を理解していないと思います。最初のケースでは、Apacheはwebフォルダからapp.phpを実行しました。あなたのアプリのプロダクションバージョンです。各要求でリフレッシュされない多くのキャッシュファイル。これがあなたの変更を見ることができない理由です。まず、コンソールコマンドでキャッシュをクリアする必要があります。

php app/console cache:clear --env=prod 

2番目のケースでは、Apacheはapp_dev.phpを実行します。これは開発環境です。あなたはすぐにあなたの変更を見ると、非常に開発に役立つdevelopmnetツールバーを見ることができます。ツールバーは開発環境にのみ存在します。

http://symfony.com/doc/current/book/configuration.html#environments

1

もう1つの可能な解決策:

php bin/console cache:clear --env=prod 
関連する問題