【发布时间】:2015-07-12 23:43:59
【问题描述】:
我正在尝试做我认为最基本的事情,但这需要太多时间。我只是希望我的索引文件指向或转发到另一个文件。我最初是用一个简单的衬里来做这个的。
require_once getcwd() . "/web/source/index.php";
一旦我迁移到 Silex,我就尝试了这个:
$app->get('/', function($path) use($app) {
return $app->sendFile('/web/source/index.php');
});
但没有成功。
当我访问我的网站时,我收到一个非常描述性的“哎呀,出了点问题”。我该如何解决这个问题?
这是包含所有样板的完整代码:
require_once __DIR__ . '/vendor/autoload.php';
$app = new Silex\Application();
$app->get('/{name}', function($name) use($app) {
// this works fine
return ' test: '. $app->escape($name);
});
$app->get('/', function($path) use($app) {
// this does not
return $app->sendFile('/web/source/index.php');
});
$app->run();
【问题讨论】:
-
嗯....你可以为初学者打开调试。
-
$app['debug'] = true;- 起来了 -
我假设你在某个地方有一个
.env文件,如果你这样做了,它可能有另一个设置会覆盖$app['debug'] = true;一个。 -
调试已开启并正常工作。我不得不取出 $path 变量,现在我得到一个新错误 - 找不到路径。
-
getcwd()需要权限才能实际工作,因此,它可能不会为您提供完整的路径。尽管在您使用它的上下文中我看不到它的必要性。一些$_SERVER的东西也应该可以正常工作。