繁体   English   中英

在命令行上运行Artisan(Laravel)时发生致命错误

[英]Fatal Error While Running Artisan (Laravel) on Command Line

在(出色的)Laravel PHP框架上使用工匠时,我遇到了致命错误。

我最近下载了Laravel v3.2.1,并尝试从artisan所在的目录中运行以下命令行:

php artisan key:generate

这应该在我的application / application.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  

这是paths.php的第62行:

chdir(__DIR__);

这是core.php的第1行:

<?php namespace Laravel;

我的问题是:是否需要修改任何特定的环境,目录或其他权限才能启动和运行artisan。

一点背景:

  • 我昨天第一次安装了Laravel 3.2.1
  • 我可以在系统上成功运行一个简单的Web应用程序(即,我可以将请求路由到控制器并正确加载相关的刀片服务器)
  • 我只是从GitHub下载Laravel 3.2.1(laravel-laravel-v3.2.1-8-gaae8b62.zip)并将其提取到我的服务器上

我的环境:

  • Dreamhost上共享主机上的PHP 5.3.13
  • FireSSH运行命令

我的根目录:(括号内的权限)

  • /应用程序(775)
  • /捆绑包(775)
  • / laravel(775)
  • /公共(775)
  • /存储(775)
  • /工匠(664)
  • /paths.php(777)

请让我知道是否还有与我的设置相关的其他详细信息。 我真的不确定什么将有助于解决此问题。

-

更新:我也将此问题发布到了Laravel的GitHub问题跟踪器。 (https://github.com/laravel/laravel/issues/820)

首先,感谢@KingCrunch,您的第一个回答引导我走上了解决这个问题的正确道路。 此外,我从Dreamhost技术支持(特别是Gary S)获得了很好的答复,他们为我提供了所要的简洁答案。

问题是:我在CLI上运行的是PHP 5.2.17,而我的Web服务器在运行的是PHP 5.3.13。

解决方法是:使用

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

在CLI上运行artisan命令时。 这将确保我的所有artisan命令都使用PHP 5.3及更高版本运行,从而满足Laravel的PHP 5.3+要求。

命名空间和__DIR__ -pseud-constant在PHP 5.3中引入。 看来您正在运行旧版本。 您应该至少更新到5.3。

php -v

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM