在使用composer安装laravel依赖项时出现以下错误
PHP解析错误:解析laravel/framework/src/Illuminate/Support/helpers.php第411行错误
我看了源代码https://github.com/laravel/framework/blob/master/src/Illuminate/Support/helpers.php L411
$results = [];
我相信这是因为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"
}
你说你运行的是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>键入:wq> enter),然后重新打开终端并尝试php -v
和which php
,看看终端现在是否正在使用XAMPP PHP。如果不正确,请检查路径并重试!