无法运行Laravel Artisan命令,500内部服务器错误,bluehost

时间:2014-09-29 17:13:28

标签: laravel bluehost artisan

我使用bluehost,我希望与Laravel合作开发一个新项目。 Laravel位于子域文件夹中。即:home / public_html / SubDomain / Project / 在那个文件夹中我得到了我的文件夹:app,bootstrap,public,vendor。我也有我的作曲家文件:composer.json,composer.lock。 (我用作曲家来安装Laravel。) 我正在使用PuTTY来执行我的命令。我在"项目" dir使用cv。 因为我对此很陌生,所以我正在使用教程。本教程建议使用以下方法创建一个简单的表:

php artisan migrate:install

这给了我错误:

状态:500内部服务器错误

缓存控制:无缓存

然后很多带有"哎呀的html代码出错了。"

我对所有文件夹的权限是7,5,0(public_html,subdomain,project,app。)我设置777用于存储和内部的所有文件夹。

我做了我的"主要"主域名上的.htaccess是空白的,因为它可能是interfear(我现在不关心该域名。)我的子域名中的.htaccess看起来像这样:

# Use PHP5.4 as default
AddHandler application/x-httpd-php54 .php

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.subdomain.com/project$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]
</IfModule>

我的databse.php看起来像这样:

'mysql' => array(
    'driver'    => 'mysql',
    'host'      => 'localhost',
    'database'  => 'project_database',
    'username'  => 'project_user',
    'password'  => 'project_password',
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
),

这些设置适用于cakephp。

我一直在寻找好几个小时,但不知道接下来会去哪里。 我还读到,也许我应该将所有laravel文件放在public_html之上,然后将公共文件夹放在我的子域/项目文件夹中,然后使用.htaccess。但是,我不知道如何做到这一点,以及.htaccess(主要或子域名)要改变。

我对这些事情不是很有经验,但很高兴学习。 谢谢!

2 个答案:

答案 0 :(得分:0)

其中一个原因(最有可能是这个原因):bluehost中的PHP版本可能是PHP < 5.4,因此您基本上必须将其配置为使用PHP >= 5.4

1._基本上只需去CPanel - &gt;软件/服务 - &gt; PHP配置 - &gt; PHP 5.4(选择)

2._创建子域名(如果您还没有子域名)E.x。:mysubdomain

3._现在将项目合并/复制到~/public_html/mysubdomain

4._在.htaccess中创建/编辑~/public_html/mysubdomain文件,如下所示:

RewriteEngine On
RewriteCond %{REQUEST_URI} !public/
RewriteRule ^(.*)$ /public/$1 [L]

这只是将子域重定向到/public目录,这就是我们想要的。

那就是它。

享受

答案 1 :(得分:0)

在cPanel中从PHP Config启用FastCGI就可以了。