You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 5.2项目执行php artisan serve报类重复声明错误求助

解决Laravel 5.2项目php artisan serve启动报错问题

问题背景

刚入职的开发人员从公司Ubuntu服务器通过SSH拷贝Laravel项目到本地,执行php artisan serve时出现大量PHP弃用提示,最终报致命错误:无法声明类Symfony\Component\HttpFoundation\Request,因为该名称已被使用。本地其他Laravel项目运行正常,尝试composer update无效。

项目composer.json配置

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=5.5.9",
        "laravel/framework": "5.2.*",
        "zizaco/entrust": "5.2.x-dev",
        "laravelcollective/html": "^5.2",
        "acacha/admin-lte-template-laravel": "2.*",
        "manavo/laravel-bootstrap-forms": "~0.1",
        "orangehill/iseed": "dev-master",
        "webwizo/laravel-shortcodes": "1.0.4",
        "mollie/mollie-api-php": "1.7.*",
        "doctrine/dbal": "^2.5",
        "anhskohbo/no-captcha": "^2.1"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "0.9.*",
        "phpunit/phpunit": "~4.0",
        "symfony/css-selector": "2.8.*|3.0.*",
        "symfony/dom-crawler": "2.8.*|3.0.*",
        "laravel/homestead": "^5.4"

    },
    "autoload": {
        "classmap": [
            "database",
            "app/Models"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ],
        "post-install-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postInstall",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "Illuminate\\Foundation\\ComposerScripts::postUpdate",
            "php artisan optimize"
        ]
    },
    "config": {
        "preferred-install": "dist"
    }
}

报错信息

PHP已弃用提示:Symfony\Component\Finder\Iterator\FilterIterator::rewind()的返回类型应与FilterIterator::rewind(): void兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16711行

已弃用:Symfony\Component\Finder\Iterator\FilterIterator::rewind()的返回类型应与FilterIterator::rewind(): void兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16711行
PHP已弃用提示:Symfony\Component\Finder\Iterator\PathFilterIterator::accept()的返回类型应与FilterIterator::accept(): bool兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16791行

已弃用:Symfony\Component\Finder\Iterator\PathFilterIterator::accept()的返回类型应与FilterIterator::accept(): bool兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16791行
PHP已弃用提示:Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::getChildren()的返回类型应与RecursiveDirectoryIterator::getChildren(): RecursiveDirectoryIterator兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16889行

已弃用:Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::getChildren()的返回类型应与RecursiveDirectoryIterator::getChildren(): RecursiveDirectoryIterator兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16889行
PHP已弃用提示:Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::rewind()的返回类型应与FilesystemIterator::rewind(): void兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16907行

已弃用:Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::rewind()的返回类型应与FilesystemIterator::rewind(): void兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16907行
PHP已弃用提示:Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::current()的返回类型应与FilesystemIterator::current(): SplFileInfo|FilesystemIterator|string兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16878行

已弃用:Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator::current()的返回类型应与FilesystemIterator::current(): SplFileInfo|FilesystemIterator|string兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16878行
PHP已弃用提示:Symfony\Component\Finder\Iterator\FileTypeFilterIterator::accept()的返回类型应与FilterIterator::accept(): bool兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16945行

已弃用:Symfony\Component\Finder\Iterator\FileTypeFilterIterator::accept()的返回类型应与FilterIterator::accept(): bool兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16945行
PHP已弃用提示:Symfony\Component\Finder\Iterator\FilenameFilterIterator::accept()的返回类型应与FilterIterator::accept(): bool兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16962行

已弃用:Symfony\Component\Finder\Iterator\FilenameFilterIterator::accept()的返回类型应与FilterIterator::accept(): bool兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第16962行
PHP已弃用提示:Illuminate\Container\Container::offsetExists($key)的返回类型应与ArrayAccess::offsetExists(mixed $offset): bool兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第1550行

已弃用:Illuminate\Container\Container::offsetExists($key)的返回类型应与ArrayAccess::offsetExists(mixed $offset): bool兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第1550行
PHP已弃用提示:Illuminate\Container\Container::offsetGet($key)的返回类型应与ArrayAccess::offsetGet(mixed $offset): mixed兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第1554行

已弃用:Illuminate\Container\Container::offsetGet($key)的返回类型应与ArrayAccess::offsetGet(mixed $offset): mixed兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第1554行
PHP已弃用提示:Illuminate\Container\Container::offsetSet($key, $value)的返回类型应与ArrayAccess::offsetSet(mixed $offset, mixed $value): void兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第1558行

已弃用:Illuminate\Container\Container::offsetSet($key, $value)的返回类型应与ArrayAccess::offsetSet(mixed $offset, mixed $value): void兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第1558行
PHP已弃用提示:Illuminate\Container\Container::offsetUnset($key)的返回类型应与ArrayAccess::offsetUnset(mixed $offset): void兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第1567行

已弃用:Illuminate\Container\Container::offsetUnset($key)的返回类型应与ArrayAccess::offsetUnset(mixed $offset): void兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第1567行
PHP已弃用提示:Illuminate\Http\Request::offsetExists($offset)的返回类型应与ArrayAccess::offsetExists(mixed $offset): bool兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第3161行

已弃用:Illuminate\Http\Request::offsetExists($offset)的返回类型应与ArrayAccess::offsetExists(mixed $offset): bool兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第3161行
PHP已弃用提示:Illuminate\Http\Request::offsetGet($offset)的返回类型应与ArrayAccess::offsetGet(mixed $offset): mixed兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第3165行

已弃用:Illuminate\Http\Request::offsetGet($offset)的返回类型应与ArrayAccess::offsetGet(mixed $offset): mixed兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第3165行
PHP已弃用提示:Illuminate\Http\Request::offsetSet($offset, $value)的返回类型应与ArrayAccess::offsetSet(mixed $offset, mixed $value): void兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第3169行

已弃用:Illuminate\Http\Request::offsetSet($offset, $value)的返回类型应与ArrayAccess::offsetSet(mixed $offset, mixed $value): void兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第3169行
PHP已弃用提示:Illuminate\Http\Request::offsetUnset($offset)的返回类型应与ArrayAccess::offsetUnset(mixed $offset): void兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第3173行

已弃用:Illuminate\Http\Request::offsetUnset($offset)的返回类型应与ArrayAccess::offsetUnset(mixed $offset): void兼容,或使用#[\ReturnTypeWillChange]属性临时抑制该通知,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第3173行
PHP致命错误:无法声明类Symfony\Component\HttpFoundation\Request,因为该名称已被使用,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第3294行

致命错误:无法声明类Symfony\Component\HttpFoundation\Request,因为该名称已被使用,位于/Users/vanderpatrick/Desktop/workspace/vobyte.nl/bootstrap/cache/compiled.php第3294行

解决方案

1. 清理Laravel编译缓存

从服务器拷贝的bootstrap/cache/compiled.php缓存文件与本地环境不兼容,直接删除该缓存文件即可:

php artisan clear-compiled

2. 重新安装依赖(可选)

如果清理缓存后仍有问题,删除本地vendor目录和composer.lock,重新安装依赖:

rm -rf vendor composer.lock
composer install

注意:使用composer install而非update,避免升级依赖引发更多兼容性问题。

3. 匹配PHP版本

Laravel 5.2最高兼容PHP 7.2,若本地PHP版本为8.x,会触发大量类型检查报错。可通过以下命令查看版本:

php -v

建议用PHP版本管理工具(如phpbrew、Docker)切换到PHP 7.0-7.4版本。

4. 避免重新生成编译缓存(可选)

若本地PHP版本偏高,不要执行php artisan optimize,否则会重新生成引发报错的编译文件。

关键原因

  • 服务器拷贝的编译缓存文件与本地PHP版本不兼容,导致类重复加载。
  • Laravel 5.2为老旧版本,不支持高版本PHP的严格类型检查,触发弃用提示及致命错误。

内容的提问来源于stack exchange,提问作者VanderPatrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 20:09:30