【问题标题】:Laravel dependencies error Composer install error in Mac OSXLaravel 依赖项错误 Composer 在 Mac OSX 中安装错误
【发布时间】:2014-09-18 01:16:58
【问题描述】:

使用 composer 安装 laravel 依赖时出现以下错误

PHP 解析错误:laravel/framework/src/Illuminate/Support/helpers.php 第 411 行的解析错误。

我查看了源代码 https://github.com/laravel/framework/blob/master/src/Illuminate/Support/helpers.php#L411

$结果 = [];

我相信这是因为 php 新的数组语法。

该库似乎有些不兼容。

下面是我的 composer.json

{
  "name": "laravel/laravel",
  "description": "The Laravel Framework.",
  "keywords": ["framework", "laravel"],
  "license": "MIT",
  "require": {
    "laravel/framework": "4.2.*"
  },
  "autoload": {
     "classmap": [
     "app/commands",
     "app/controllers",
     "app/models",
     "app/database/migrations",
     "app/database/seeds",
     "app/tests/TestCase.php"
     ]
   },
  "scripts": { 
    "post-install-cmd": [
    "php artisan clear-compiled",
    "php artisan optimize"
  ],
  "post-update-cmd": [
    "php artisan clear-compiled",
    "php artisan optimize"
  ],
  "post-create-project-cmd": [
    "php artisan key:generate"
  ]
},
"config": {
   "preferred-install": "dist"
},
"minimum-stability": "stable"

}

【问题讨论】:

  • 你能发布你的composer.json文件吗?

标签: laravel-4 composer-php


【解决方案1】:

你说你正在运行 OS X,但是:

  • 您的 PHP 版本是多少?
  • 您如何运行您的服务器(即 MAMP、普通 Apache、Vagrant)?

即使不知道上述内容,有问题的行也有以下内容:

    $results = [];

意思是它创建了一个只有 PHP 5.4+ 支持的短语法数组。您可能有较早的版本,因此出现语法错误。

如果可以的话,我会说更新 PHP,如果不能,请使用 Laravel 4.1。

更新:

如果您已经安装了兼容的 PHP,则可能只需将 Composer 指向正确的版本即可。只需打开一个新的终端窗口并输入cd ~,然后通过输入vim .bash_profile 创建一个.bash_profile 文件。 检查您的 XAMPP php 文件夹的路径(我没有验证下面的路径,这只是一个 最佳猜测 示例),并将其添加到新文件中:

export XAMPP_PHP=/Applications/XAMPP/xamppfiles/bin
export PATH="$XAMPP_PHP:$PATH"

保存它(esc > type :wq > enter),然后重新打开终端并尝试php -vwhich php 以查看终端现在是否正在使用您的 XAMPP PHP。如果没有,请检查路径并重试!

【讨论】:

  • @tbuleter 好点。但我在 php-5.5.1 上运行。你的意思是在 xxxx/helper.php 的第 411 行是 $results = [];
  • 是的,这就是我的意思,关于第 411 行。好的,但是如何你是在运行 PHP 5.5.1 吗?是 OSX 的原生 PHP 还是别的什么?如果有,是什么?
  • 这是一个适用于 mac osx 的 xampp。在 mac osx 上是 php 5.3。
  • php 命令行 (cli) 可能使用了错误的 php 版本
  • Composer 运行原生 PHP 版本,除非您已将操作系统配置为执行其他操作。在终端中键入 php -vwhich php 以分别查看 Composer 运行的版本和路径。如果它是本地的,请检查更新的答案以考虑可能的解决方案。
猜你喜欢
  • 1970-01-01
  • 2014-12-07
  • 2022-08-15
  • 2014-05-26
  • 2017-01-12
  • 2020-01-07
  • 2021-11-08
  • 2023-02-04
  • 1970-01-01
相关资源
最近更新 更多