4 votes

Caractère inattendu dans l'entrée : '\' lors de l'installation de Laravel 4 dans un compte dreamhost

Cela fait des heures que j'essaie d'installer Laravel 4 sur mon compte Dreamhost, mais j'obtiens toujours cette erreur :

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

Quand je cours

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

J'ai lu que cela pouvait être dû à une mauvaise version de php, mais j'ai exécuté la commande ci-dessus avec

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

Avec le même résultat. Avez-vous des idées ? Merci d'avance !

7voto

Simo A. Points 425

Comme mentionné dans la réponse de Sheikh Heera, le composer.phar doit être exécuté avec PHP 5.3 ou plus.

Ce qui n'a pas encore été mentionné, c'est que composer.json contient plusieurs références au binaire PHP. Lors de l'installation de Laravel dans un environnement où PHP utilise par défaut une version inférieure à 5.3 (par exemple les serveurs WebFaction), toutes les références à "php" dans le fichier composer.json doit être modifié pour pointer vers une version plus récente de PHP.

Par exemple :

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

... doit être changé en (quelque chose comme) :

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

1voto

WereWolf - The Alpha Points 49671

Sur artisan en ligne 46 il y a

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

Et selon le message de l'arrangeur Warning: Unexpected character in input: '\' le site PHP n'a pas reconnu le \ qui est utilisé pour namespace depuis PHP 5.3.0 donc il est clair que votre PHP est incorrecte. T

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

0voto

Max Points 324

Je pensais que c'était un problème de version PHP et j'avais raison. Merci pour les autres réponses !

Voici la réponse spécifique si vous avez un hébergement de 1and1 / 1&1 créez un fichier .htaccess à la racine de votre domaine avec le code suivant

AddHandler x-mapp-php6 .php

Note : le "php6" correspond à la version 5.4 de php. Notez également que s'il existe déjà un fichier .htaccess, ce qui est probablement le cas, créez simplement une ligne au début et insérez cette ligne de code. Par exemple, mon fichier .htaccess pour un domaine Laravel 5 Root ressemble à ceci (grâce à l'aide de 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>

Notez le / ajouté à la ligne RewriteRule ^ ... ainsi que la partie php6

Tout devrait bien se passer, consultez leur lien d'aide ici.

https://help.1and1.com/hosting-c37630/scripts-et-programmation-langues-c85099/php-c37728/manually-set-the-version-of-php-using-an-htaccess-file-a614325.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X