【问题标题】:Laravel 5.0 php artisan tinker throwing an error on homestead with php7Laravel 5.0 php artisan tinker 使用 php7 在宅基地上抛出错误
【发布时间】:2016-04-20 13:10:21
【问题描述】:

我使用的是 Laravel 5.0 和 homestead 0.4.0,它们是 php 7 附带的, 所以当我使用 php artisan tinker 我得到这个错误: error

我该如何解决这个问题,或者我应该降级我的 php 版本,如果这样,不会与我的 homestead 或 laravel 中的作曲家或任何其他工具有任何冲突?

【问题讨论】:

    标签: laravel laravel-5 homestead php-7


    【解决方案1】:

    您的应用程序使用的库之一 - PhpParser 似乎与 PHP7 不兼容。它定义了一个名为 String 的类,它是版本 7 中的保留关键字。

    您需要降级到 PHP5 或检查是否可以升级您的依赖项,以便使用的 PhpParser 库与 PHP7 兼容。 PhpParser 2.x 版本应该兼容。

    如果您将包直接包含在 composer.json 中,请尝试在那里升级版本。

    如果没有,您可以通过调用

    查看您的哪些依赖项需要 PhpParser
    composer depends nikic/php-parser
    

    看看你是否能够升级它列出的包的版本。

    【讨论】:

    • 感谢朋友的回复,我已经尝试将库升级到 v 2.* 但即使我删除了 composer.lock 也失败了,所以我正在使用 php 下载旧版本的宅基地5.
    • 尝试升级时出现什么问题?
    【解决方案2】:

    我通过安装 php 5.6 附带的旧版本 homestead v0.3.3 解决了我的问题,所以这里就是你需要下载的所有内容:

    $vagrant box add laravel/homestead --box-version 0.3.3
    

    然后从 git 下载旧版本的 Homestead 安装程序,我使用的是 v2.1.8 它工作正常:

    【讨论】:

      猜你喜欢
      • 2015-03-12
      • 2014-09-09
      • 1970-01-01
      • 2017-09-13
      • 2018-03-29
      • 2020-07-06
      • 2017-01-09
      • 1970-01-01
      • 2020-12-13
      相关资源
      最近更新 更多