【问题标题】:Laravel 4 - Warning: Illegal offset type in isset or empty in \bootstrap\compiled.phpLaravel 4 - 警告:isset 中的非法偏移类型或 \bootstrap\compiled.php 中为空
【发布时间】:2013-06-21 10:54:28
【问题描述】:

我很难在 Windows 8 + Xampp 上安装 Laravel 4。

设置如下: - Xampp 1.8.1 - Composer 全局安装

我使用通常的“composer create-project laravel/laravel projectname”安装 Laravel。它安装得很好。

但是当我导航到框架的公共文件夹时,我得到了几十个警告:在 isset 中的非法偏移类型或在 \bootstrap\compiled.php 中为空错误。 在线:439、221、137、154。这4个错误无限重复,直到请求超时。

到目前为止已完成的故障排除: - 在具有相同设置的 2 台单独的机器上进行了尝试。 - 重新运行 Composer 更新。 - 我没有使用 create-project,而是下载了框架并运行 Composer 安装。 - 尝试设置虚拟主机而不是访问 localhost/projectname/public。 - 在网上搜索了 2 个小时。阅读所有 Laravel 4 安装教程。

关于我可能做错了什么的任何线索?

谢谢

-- 编辑-- 这是导致compiled.php内部问题的行

第 137 行部分:

    $abstract = $this->getAlias($abstract);
    if (isset($this->instances[$abstract])) {
        return $this->instances[$abstract];
    }

第 154 行部分:

protected function getConcrete($abstract)
{
    if (!isset($this->bindings[$abstract])) {
        return $abstract;
    } else {
        return $this->bindings[$abstract]['concrete'];
    }
}

第 221 行部分:

protected function getAlias($abstract)
{
    return isset($this->aliases[$abstract]) ? $this->aliases[$abstract] : $abstract;
}

第 439 行部分:

public function make($abstract, $parameters = array())
{
    if (isset($this->deferredServices[$abstract])) {
        $this->loadDeferredProvider($abstract);
    }
    return parent::make($abstract, $parameters);
}

-- 新发现-- 使用 Wampserver 有效,而不是使用 Xampp。

【问题讨论】:

  • “我可能做错了什么的任何线索?”没有发布导致错误的代码行?
  • 我已经用罪魁祸首代码编辑了这个问题。请注意,我尝试过使用 Wampserver 而不是 Xampp,它可以工作。

标签: installation xampp laravel composer-php


【解决方案1】:

在使用 Xampp 时遇到了同样的错误。我通过禁用 php.ini 中的 eAccelerator 扩展来修复它。尝试在您的 php.ini 文件中注释掉以下行:zend_extension = "path\to\xampp\php\ext\php_eaccelerator_ts.dll"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多