2014-09-29 59 views
1

我正在使用bluehost,我想与Laravel合作开发一个新项目。 Laravel位于子域文件夹中。那就是:home/public_html/SubDomain/Project/ 在那个文件夹里我有我的文件夹:app,bootstrap,public,vendor。我也有我的作曲家文件:composer.json,composer.lock。 (我用作曲者来安装Laravel。) 我正在使用PuTTY来执行我的命令。我通过使用cv在“项目”目录中。 因为我对此很新,所以我正在使用教程。教程提出利用创建一个简单的表:无法运行Laravel Artisan命令,500内部服务器错误,bluehost

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(主要或子域)可以更改。

我对这些东西并不是很有经验,但很兴奋学习。 谢谢!

+0

将应用程序更改为app/config/app.php中的'debug => true'并读取堆栈跟踪。 – gerobk 2014-09-29 17:58:40

回答

0

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

1._基本上只是去的cPanel - >软件/服务 - > PHP配置 - > PHP 5.4(选择)

2._创建子域(如果你不已经有一个)例如:mysubdomain

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

4._在~/public_html/mysubdomain像下面的创建/编辑.htaccess文件:

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

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

就是这样。

享受

0

从cPanel的PHP Config启用FastCGI将有所斩获。