4

在过去的几个小时里,我一直在尝试在我的 dreamhost 帐户上安装 Laravel 4,但我不断收到此错误:

Warning: Unexpected character in input:  '\' (ASCII=92) state=1 in /home/user/test/artisan on line 46

Parse error: syntax error, unexpected T_STRING in /home/user/test/artisan on line 46

当我跑

/usr/local/bin/php-5.4 -d memory_limit=256M composer.phar create-project laravel/laravel test

我读过这可能是因为我使用了错误的 php 版本,但我已经运行了上面的命令

  • /usr/local/bin/php-5.4
  • /usr/local/bin/php-5.3
  • /usr/local/php53/bin/php
  • /usr/local/php54/bin/php

结果相同。有任何想法吗?提前致谢!

4

3 回答 3

7

正如 Sheikh Heera 的回答所提到的,composer.phar 必须使用 PHP 5.3 或更高版本运行。

尚未提及的是composer.json包含对 PHP 二进制文件的多个引用。在 PHP 默认版本低于 5.3 的环境(例如 WebFaction 服务器)中安装 Laravel 时,composer.json必须将文件中对“php”的所有引用更改为指向较新版本的 PHP。

例如:

"post-install-cmd": [
  "php artisan optimize"
],

...必须更改为(类似于):

"post-install-cmd": [
  "php54 artisan optimize"
],
于 2014-02-09T18:11:03.740 回答
1

artisan网上46

$artisan = Illuminate\Console\Application::start($app);

根据错误消息Warning: Unexpected character in input: '\'PHP解析器无法识别\正在使用的内容,namespace因此PHP 5.3.0很明显您的PHP版本不正确。尝试升级它。使用检查您的版本

/usr/local/php5/bin/php -v
于 2013-06-26T02:44:21.860 回答
0

我猜这是一个 PHP 版本问题并且是正确的。感谢其他答案的家伙!

如果您从 1and1 / 1&1 托管,则以下是具体答案

AddHandler x-mapp-php6 .php

注意:“php6”映射到 php 版本 5.4 还请注意,如果已经有一个 .htaccess 文件(可能存在),只需在开头创建一行并插入这行代码。例如,我的 laravel 5 根域的 .htaccess 文件看起来像(感谢http://laravel.io/forum/03-21-2014-laravel-production-deployment-on-1and1的帮助)

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On


AddHandler x-mapp-php6 .php


    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ /index.php [L]
</IfModule>

注意 / 添加到 RewriteRule ^ ... 行以及 php6 部分

应该都很好,在这里查看他们的帮助链接

https://help.1and1.com/hosting-c37630/scripts-and-programming-languages-c85099/php-c37728/manually-set-the-version-of-php-using-an-htaccess-file-a614325。 html

于 2015-02-12T22:33:55.513 回答