将Laravel 5上载到服务器子文件夹

将Laravel 5上载到服务器子文件夹,laravel,upload,server,subdirectory,Laravel,Upload,Server,Subdirectory,我正在尝试将Laravel 5项目上载到子文件夹,如下所示: 公共工程/ 我在index.php中进行了更改 require __DIR__.'/../project/bootstrap/autoload.php'; $app = require_once __DIR__.'/../project/bootstrap/app.php'; 在config/app.php中 'url' => 'http://example.com/project', 当我尝试将url作为: 它是指向 上

我正在尝试将Laravel 5项目上载到子文件夹,如下所示:

公共工程/

我在index.php中进行了更改

require __DIR__.'/../project/bootstrap/autoload.php';
$app = require_once __DIR__.'/../project/bootstrap/app.php';
在config/app.php中

'url' => 'http://example.com/project',
当我尝试将url作为: 它是指向


上传到服务器的方式是什么。有谁能帮助我,因为我尝试了很多选项。

将整个laravel项目上传到public_html(public)文件夹不是一个好主意。公用文件夹中的文件具有不受限制的访问权限

如果由于要上载到共享主机,您不得不考虑将laravel项目上载到public_html文件夹,则无需这样做。
请尝试以下方法:
1.在与public_html文件夹相同的级别上创建一个名为laravel的文件夹(或任何您喜欢的文件夹)

Eg:  
/
 |--var  
    |---www
        |----laravel
        |----public_html  
二,。从
laravel
文件夹(服务器主机上)中的laravel项目中复制除
public
文件夹以外的所有内容。
3.打开laravel项目的公用文件夹,复制所有内容并粘贴到
public\u html
文件夹(服务器主机上)
4.现在打开
public\u html
文件夹中的
index.php
文件,然后:

Change:  
require __DIR__.'/../bootstrap/autoload.php';  
To:  
requrie require __DIR__.'/../laravel/bootstrap/autoload.php';  
And  
Change: 
$app = require_once __DIR__.'/../bootstrap/app.php';  
To:  
$app = require_once __DIR__.'/../laravel/bootstrap/app.php';  
Save and close.  
五,。现在转到
laravel
文件夹并打开
server.php
文件

Change:  
require_once __DIR__.'/public/index.php';  
To:  
require_once __DIR__.'../public_html/index.php'; 
Save and close. 
现在,当您访问您在服务器上配置为域的url时,您的laravel应用程序应该可以像在本地主机上一样工作

注意:
config/app
中的
'url'=>'someurl'
由artisan ie cli使用,它对您的Web服务器url没有任何影响。
希望能有帮助

编辑
完成上述操作后,如果您尝试访问url时出现空白页,请递归设置存储文件夹的写入权限。即,存储及其子文件夹中的所有文件夹都应具有权限
775
设置,以便Web服务器所有者和组具有写入权限

如果您不打算在存储文件夹中存储任何敏感信息,您还可以将权限设置为
777
,以授予对存储文件夹所有信息的读、写和执行访问权限


在linux中小心文件权限,它们就像一把双刃剑,若使用不当,可能会使您的应用程序容易受到攻击。要了解Linux文件权限,请在我完成上述步骤后阅读

。对于少数文件夹,请使用读/写权限(即应为777)进行检查:

存储、供应商和引导>缓存

检查.htaccess文件(如果它在public_html文件夹中)或从public文件夹复制它

最后检查php的版本,它应该高于5.5

这对我有用。干杯

我确实喜欢这个。(我的版本是laravel 5.2)

  • 将server.php文件的名称更改为'index.php'
  • 将.htaccess文件从公用文件夹复制到主目录(创建的子文件夹)
  • 和inside.htaccess在重写引擎后我们必须添加 重写基本/子文件夹/
  • 问题已解决:-

    转到laravelFolder/bootstrap/cache,然后重命名config.php
    例如,config.php_旧的并重新加载您的站点

    将项目根目录更改为
    public\u html/project/public
    。你不必再做任何改变了,谢谢。我照你说的做了,但现在我得到了一张空白页。我已授予对存储、供应商和引导>缓存的读/写访问权限。错误是什么。这通常是由于缺少对存储的写入权限而发生的。请确保存储文件夹及其所有子文件夹中的每个文件夹都具有Web服务器组或用户的写入权限。有时很容易忘记递归设置写入权限,即存储文件夹本身具有写入权限,但其子文件夹不具有写入权限。验证另外,如果您使用devtools,它会显示任何错误吗?这对我很有用。但是我使用的是Laravel 5.5.13,我没有意识到,但我必须将(1)PHP设置为>=7.0&&(2)确保授予MySQL数据库用户对数据库的权限&&(3)确保手动进行PHP迁移(从本地导出并导入到远程)。谢天谢地,我没有将权限设置为777。我还更改了
    数据库主机
    数据库
    数据库用户名
    ,以及
    数据库密码
    文件。从cPanel,创建数据库,创建用户,然后重要的是将用户添加到数据库中,并具有我授予的“所有权限”。