du9698 2015-06-08 18:07
浏览 42
已采纳

Silex找不到控制器类

project directory structure

/composer.json
/web/index.php
/app/controller/IndexController.php 

composer.json

{
  "require" : {
    "silex/silex": "*"
  },
  "autoload": {
    "psr-0": {
            "": "./"
        }
  }
}

index.php

require_once __DIR__.'/../vendor/autoload.php';

use Silex\Application;

$app = new Application();
$app['debug'] = true;

$app->get('/', 'App\\Controller\\IndexController::getIndex');

$app->run();

IndexController.php

namespace App\Controller;

use Silex\Application;

class IndexController
{
    public function getIndex(Application $app)
    {
        return "You got the index, congrats!";
    }
}

Whenever I

cd web/
php -S localhost:8080
curl http://localhost:8080

from the project root I get the the following exception

InvalidArgumentException in ControllerResolver.php line 153:
Class "App\Controller\IndexController" does not exist.
in ControllerResolver.php line 153
at ControllerResolver->createController('App\Controller\IndexController::getIndex') in ControllerResolver.php line 80
at ControllerResolver->getController(object(Request)) in HttpKernel.php line 135
at HttpKernel->handleRaw(object(Request), '1') in HttpKernel.php line 68
at HttpKernel->handle(object(Request), '1', true) in Application.php line 581
at Application->handle(object(Request)) in Application.php line 558
at Application->run() in index.php line 12

Which makes no sense to me. The program actually runs just fine locally on my macbook but when I deploy it to my ubuntu VPS I get the above exception even though the code being run in both environments is identical. Why can't Silex find my controller?

  • 写回答

3条回答 默认 最新

  • douyannuo7733 2015-06-08 18:32
    关注

    It was a capitalization issue. My macbook has a case-insensitive filesystem and my Linux VPS has a case-sensitive filesystem so when deploying to the VPS I had to capitalize the directories in my project so that Silex could correctly resolve the controllers.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 这个复选框什么作用?
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下