Symfony Web 服务器要求 index.php 问题
Symfony Webserver require index.php issue
我刚刚使用 composer 更新命令将我的 symfony 版本从 3.4.1 更新到 3.4.2(一切正常)。
当我尝试启动服务器时,我收到以下消息:
Warning: require(index.php): failed to open stream: No such file or
directory in
(...)vendor\symfony\symfony\src\Symfony\Bundle\WebServerBundle\Resources\router.php
on line 45
Fatal error: require(): Failed opening required 'index.php'
(include_path='C:\xampp\php\PEAR') in
(...)vendor\symfony\symfony\src\Symfony\Bundle\WebServerBundle\Resources\router.php
on line 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 变量中进行转储时,我的结果是错误的(没有名为 APP_FRONT_CONTROLLER 的环境变量)但是当我 运行 服务器在另一个 3.4.1 symfony 版本中结果是
string(11) "app_dev.php"
一切正常。
这是版本问题还是我环境的问题
如果您需要更多信息,请提出要求。
提前致谢。
这是 3.4.2 中的错误,已被报告:
https://github.com/symfony/symfony/issues/25515
所以目前唯一的选择是要么降级到 3.4.1,使用另一个网络服务器,要么修复它并提交 PR。
我刚刚使用 composer 更新命令将我的 symfony 版本从 3.4.1 更新到 3.4.2(一切正常)。
当我尝试启动服务器时,我收到以下消息:
Warning: require(index.php): failed to open stream: No such file or directory in (...)vendor\symfony\symfony\src\Symfony\Bundle\WebServerBundle\Resources\router.php on line 45
Fatal error: require(): Failed opening required 'index.php' (include_path='C:\xampp\php\PEAR') in (...)vendor\symfony\symfony\src\Symfony\Bundle\WebServerBundle\Resources\router.php on line 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 变量中进行转储时,我的结果是错误的(没有名为 APP_FRONT_CONTROLLER 的环境变量)但是当我 运行 服务器在另一个 3.4.1 symfony 版本中结果是
string(11) "app_dev.php"
一切正常。
这是版本问题还是我环境的问题
如果您需要更多信息,请提出要求。
提前致谢。
这是 3.4.2 中的错误,已被报告:
https://github.com/symfony/symfony/issues/25515
所以目前唯一的选择是要么降级到 3.4.1,使用另一个网络服务器,要么修复它并提交 PR。