1

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

php artisan migrate:install

这给了我错误:

状态:500 内部服务器错误

缓存控制:无缓存

然后是很多带有“哎呀,出了点问题”的 html 代码。

我对所有文件夹的权限是 7、5、0(public_html、子域、项目、应用程序)。我将 777 设置为存储和里面的所有文件夹。

我将主域上的“主”.htaccess 设为空白,因为它可能会干扰(我现在不关心该域。)我的子域中的 .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 之上,然后将 public 文件夹放在我的子域/项目文件夹中,然后使用 .htaccess。但是,我不确定如何执行此操作,以及要更改哪个 .htaccess(主域或子域)。

我对这类事情不是很有经验,但很想学习。谢谢!

4

2 回答 2

0

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

于 2014-11-05T17:40:30.720 回答
0

原因之一(很可能是这个):bluehost 中的 PHP 版本可能是PHP < 5.4这样,所以您基本上必须将其配置为使用PHP >= 5.4.

1._基本上只是去CPanel -> Software/Services -> PHP Config -> PHP 5.4(select)

2._ 创建子域(如果您还没有) 例如:mysubdomain

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

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

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

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

而已。

享受

于 2014-10-25T23:40:34.027 回答