输入中出现意外字符:'';同时在dreamhost帐户中安装Laravel 4


Unexpected character in input: '' while installing Laravel 4 in a dreamhost account

在过去的几个小时里,我一直在尝试在我的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

同样的结果。有什么想法吗?提前感谢!

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

还没有提到的是composer.json包含了几个对PHP二进制文件的引用。在PHP默认版本低于5.3的环境中安装Laravel时(例如WebFaction服务器),文件composer.json中对"PHP"的所有引用都必须更改为指向更新版本的PHP。

例如:

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

必须更改为(类似于):

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

artisan46线上有

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

根据arror消息Warning: Unexpected character in input: '''PHP解析器无法识别自PHP 5.3.0以来用于namespace',因此很明显,您的PHP版本不正确。尝试升级。使用检查您的版本

/usr/local/php5/bin/php -v

我猜这是PHP版本的问题,是对的。谢谢其他人的回答!

如果你从1和1/1&1.在您的域的根目录中创建一个.htaccess文件,其中包含以下代码

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>

请注意/已添加到重写规则^。。。行以及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