2016-05-25 12 views
1

次のコードがありました。これはPHP 5.6とApache 2.2でうまくいきました。私は単に私のapacheを2.4にアップグレードしたと思うし、動作を停止したようだ。silexを使用してルーティングするときに404 Not Foundエラーが発生しました

api 
-app 
    -job 
    -jobController.php 
    -jobFacade.php 
    -jobFacadeProvider.php 
    -src 
    -BatchAutoscalingApplication.php 
    -routes.php 
    -app.php 
    -index.php 

routes.phpの

<?php 
    require_once __DIR__ . "/../job/JobController.php"; 
    $app->mount("/job", new JobController()); 
?> 

jobCOntroller.php

<?php 
    require_once __DIR__ ."/JobFacade.php"; 

    class JobController implements ControllerProviderInterface 
    { 
     public function connect(Application $app) 
     { 

      $controllers = $app['controllers_factory']; 
      error_log("isnide cntroller",false); 
      $controllers->get('/isAcceptable', function (Request $request) use ($app) { 

       $id_contents = $request->query->get('id_contents'); 
       $result = $app['job']->isAcceptable($id_contents, $id_host, $id_vhost, $private_ip); 
       return new JsonResponse($result); 
      }); 

      return $controllers; 
     } 

     public function boot(Application $app) 
     { 
      // TODO: Implement boot() method. 
     } 
    } 
?> 

jobFacade.php

class JobFacade 
    { 
     public function isAcceptable($id_contents) 
     { 
      return "something" 
     } 
    } 

JobFacadeProvider.php

class JobFacadeProvider implements ServiceProviderInterface 
    { 
     public function register(Application $app) { 
      $app['job'] = $app->share(function() use ($app) { 
       return new JobFacade(); 
      }); 
     } 
     public function boot(Application $app) {} 
} 

のindex.php

$app = require_once __DIR__ . '/app/app.php'; 
    $app->after($app["cors"]); 

    $app->run(); 

?> 

BatchAutoscalingApplication.php

class BatchAutoScalingApplication extends Application 
    { 
     public function __construct(array $values = array()) 
     { 
      parent::__construct($values); 
      $this->register(new CorsServiceProvider(), array(
       "cors.allowOrigin" => "*", 
      )); 

      $this->register(new JobFacadeProvider()); 

     } 

    } 

app.phpが

$app = new BatchAutoScalingApplication(); 

    require_once __DIR__ . '/src/routes.php'; 

    return $app; 

?> 

私はURL http://<host>/job/isAcceptable?id_contents=34を打つ、それは私に次のエラーを与える

404 Not Found The requested URL /job/isAcceptable was not found on this server

PS:DocumentRootのはapiディレクトリを指摘しています。

答えて

1

愚かな間違いだった。私は単にhttpd.confAllowOverride Allを追加しましたが、今はうまくいくようです。

関連する問題