Symfony Web 服务器需要 index.php 问题

问题描述 投票:0回答:1

我刚刚使用composer update命令将我的symfony版本从3.4.1更新到3.4.2(一切正常)。

当我尝试启动服务器时,我收到以下消息:

警告:require(index.php):无法打开流:没有这样的文件或 目录在 (...)vendor\symfony\symfony\src\Symfony\Bundle\WebServerBundle\Resources 外部.php 45号线

致命错误:require():无法打开所需的“index.php” (include_path='C:\xampp\php\PEAR') 在 (...)vendor\symfony\symfony\src\Symfony\Bundle\WebServerBundle\Resources 外部.php 45号线

它引用了这种和平的代码

$script = getenv('APP_FRONT_CONTROLLER') ?: 'index.php';

//var_dump(getenv('APP_FRONT_CONTROLLER'));
//die();

    $_SERVER = array_merge($_SERVER, $_ENV);
    $_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.$script;

    // Since we are rewriting to app_dev.php, adjust SCRIPT_NAME and PHP_SELF accordingly
    $_SERVER['SCRIPT_NAME'] = DIRECTORY_SEPARATOR.$script;
    $_SERVER['PHP_SELF'] = DIRECTORY_SEPARATOR.$script;

    require $script; //<==== HERE!!!

当我在 $script 变量中进行转储时,我的结果是 false(没有名为 APP_FRONT_CONTROLLER 的环境变量),但是当我在另一个 3.4.1 symfony 版本中运行服务器时,结果是

字符串(11)“app_dev.php”

一切正常。

这是版本问题还是我的环境问题。

如果您需要更多信息,请询问。

提前致谢。

php symfony symfony-3.4
1个回答
5
投票

这是 3.4.2 中的错误,已报告:

https://github.com/symfony/symfony/issues/25515

所以现在唯一的选择是降级到 3.4.1,使用另一个网络服务器或修复它并提交 PR。

© www.soinside.com 2019 - 2024. All rights reserved.