2013-06-25 22 views
4

我一直試圖在最後幾個小時對我的Dreamhost的帳戶安裝Laravel 4安裝Laravel 4,但我不斷收到此錯誤:意外的字符輸入:「」,而在Dreamhost的帳戶

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 /本地/ php53 /斌/ PHP
  • 在/ usr /本地/ php54 /斌/ PHP

具有相同的結果。有任何想法嗎?提前致謝!

+0

http://www.idlehamster.com/blog/installing-laravel-4-on- dreamhost –

+0

我試過了,它沒有工作,完全相同的錯誤。 – juanlu

回答

1

artisan上線46

$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 
+0

我正在運行5.3.13,並且出現相同的錯誤。 – Trip

+0

然後,也許別的東西是錯的,但如果安裝了'5.3.0或更高版本',那麼它不是'名稱空間'。你確定你的版本? –

7

正如從謝赫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" 
], 
+0

7個月後,這節省了我的培根。這在任何地方都沒有提及!只是'rawr更新至5.3+ !!'。太棒了! –

+0

這正是我的問題,使用共享主機,他們支持PHP 5.3 +,但他們的默認值是5.2。謝謝! – mmitchell

0

我猜這是一個PHP版本的問題,是正確的。感謝其他答案的傢伙!

下面是具體的答案,如果您是從的1and1/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