2012-06-13 4 views
3

Я испытываю фатальную ошибку при использовании мастеров в (фантастической) структуре Laravel PHP.Неустранимая ошибка при запуске Artisan (Laravel) в командной строке

Я недавно скачал v3.2.1 из Laravel, и я попытался запустить следующую команду из каталога, который находится ремесленник:

php artisan key:generate 

Это должно создать случайный ключ для меня в моем приложении/приложении. php-файл. (Пожалуйста, см http://laravel.com/docs/artisan/commands для конкретной ссылки на эту команду.)

Однако, когда я запускаю эту команду из командной строки я получаю следующую ошибку:

Warning: chdir(): No such file or directory (errno 2) in /home/[USERNAME REMOVED]/websites/[DIRECTORY REMOVED]/htdocs/dev/sb4/paths.php on line 62                          

Parse error: syntax error, unexpected T_STRING in /home/[USERNAME REMOVED]/websites/[DIRECTORY REMOVED]/htdocs/dev/sb4/laravel/core.php on line 1 

Это то, что на линии 62 paths.php :

chdir(__DIR__); 

Это то, что в строке 1 core.php:

<?php namespace Laravel; 

Мой вопрос заключается в следующем: есть ли какая-либо конкретная среда, каталог или другие разрешения, которые я должен изменить, чтобы запустить и запустить artisan.

Немного предыстории:

  • Я установил Laravel 3.2.1 вчера впервые
  • я могу запустить простой веб-приложение успешно на моей системе (то есть я могу маршрут запрос к контроллеру и загрузить соответствующий лезвие правильно)
  • Я просто скачал Laravel 3.2.1 (laravel-laravel-v3.2.1-8-gaae8b62.zip) из GitHub и экстрагируют его на моем сервере

Моя среда:

  • PHP 5.3.13 на виртуальном хостинге на Dreamhost
  • FireSSH для выполнения команд

Мой корневой каталог: (разрешения в скобках)

  • /(775)
  • /пачки (775)
  • /laravel (7 75)
  • /общественности (775)
  • /хранения (775)
  • /ремесленник (664)
  • /paths.php (777)

Пожалуйста, дайте мне знать, если есть какие-либо другие подробности о моих настройках, которые актуальны. Я действительно не уверен, что поможет в устранении этой проблемы.

-

UPDATE: Я также разместил этот вопрос отслеживания проблем GitHub Laravel в. (https://github.com/laravel/laravel/issues/820)

ответ

9

Прежде всего, спасибо @KingCrunch, ваш первый ответ привел меня к правильному пути решения этой проблемы. Кроме того, я получил отличный ответ от технической поддержки Dreamhost (в частности, Gary S), который дал мне краткий ответ, который я искал.

Проблема была: я запускал PHP 5.2.17 в CLI, тогда как на моем веб-сервере выполнялся PHP 5.3.13.

Разрешение: Использование

/usr/local/php53/bin/php artisan <command> 

при выполнении команд ремесленных в CLI. Это гарантирует, что все мои команды мастеров выполняются с использованием PHP 5.3 и выше, что удовлетворяет требованиям PHP 5.3+ от Laravel.

4

Пространства имен и __DIR__ -pseud-constant были введены в PHP 5.3. Кажется, вы используете старую версию. Вы должны обновить, по крайней мере, до 5.3.

php -v 
+1

Hi @KingCrunch, Спасибо за ответ, и я думаю, что вы являетесь носителем. Я переживаю странную ситуацию. Мой веб-сервис * работает с PHP 5.3.13. Я могу проверить это, вызвав phpinfo(). Однако, когда я запускаю php -v в командной строке, он показывает, что я запускаю PHP 5.2.17. Я смотрю, почему это может быть так. Я опубликую свои результаты здесь, когда я получу какую-то обратную связь или окончательный ответ. –

+3

Кажется, что у вас есть несколько установок php;) Вы можете использовать 'which php' и/или' whereis php', чтобы найти используемую установку cli. – KingCrunch

Смежные вопросы