将Laravel 5部署到服务器问题

将Laravel 5部署到服务器问题,laravel,Laravel,所以我一直在遵循一个关于如何做到这一点的教程 除了我的公用文件夹,我压缩了所有东西 在/www文件夹之前的文件夹中上载并解压缩文件 单独上载了.env文件,因为没有上载隐藏文件 将公用文件夹放入我的子域文件夹。我适当地编辑了index.php以转到正确的目录 现在我在网站上得到了一个空白页面。在我的SSH中,我看到了包括artisan在内的文件,但当我使用php artisan时,什么都没有发生。即使我做php artisan tinker,也不会发生任何事情 我不知道发生了什么。。。怎么了?我

所以我一直在遵循一个关于如何做到这一点的教程

  • 除了我的公用文件夹,我压缩了所有东西
  • 在/www文件夹之前的文件夹中上载并解压缩文件
  • 单独上载了.env文件,因为没有上载隐藏文件
  • 将公用文件夹放入我的子域文件夹。我适当地编辑了index.php以转到正确的目录
  • 现在我在网站上得到了一个空白页面。在我的SSH中,我看到了包括artisan在内的文件,但当我使用php artisan时,什么都没有发生。即使我做php artisan tinker,也不会发生任何事情


    我不知道发生了什么。。。怎么了?

    我建议将所有代码放在一起,然后在子域文件夹中创建指向公用文件夹的sym链接

    Laravel公用文件夹为您的网站内容提供服务。整个框架和供应商目录位于此路径后面。因此,公共用户无法访问所有这些文件夹,这是框架的主要安全性

    这意味着在服务器上,如果未设置正确的
    symlink
    ,您不会将整个框架上载到
    public\u html
    文件夹,也不会将域指向laravel的公用文件夹

    这一点可以通过在服务器中创建
    symlink
    来实现。例如,您可以在
    Linux/Windows
    中编辑主机文件并设置项目域。类似于
    homestad.app
    。然后在apache配置中,只需将此项目域设置为其物理路径。如下图所示

    <VirtualHost *:80>
    ServerName homestead.app
    DocumentRoot /home/User/Development/homestead/public
    <Directory />
    Require all granted
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    </Directory>
    </VirtualHost>
    
    
    ServerName homestead.app
    文档根/家/用户/开发/宅地/公共
    要求所有授权
    选项索引如下SYMLINKS包括ExecCGI
    允许超越所有
    
    因此,您可以在浏览器中访问该项目,如
    homestead.app
    ,有关更多详细信息,请查看此项


    希望现在一切都清楚了。

    你的确切意思是什么?我不确定什么是符号链接。我可以在2小时内给你一个具体的例子。您使用ln命令,但不确定in命令是什么意思。我得到了一个-bash:syntax错误,靠近意外的标记“in”,你是在使用apache还是nginx?所以基本上,你是说我应该在/www目录之前创建一个文件夹,并将项目放在那里,然后为这两个公共文件夹创建一个符号链接?所以我成功了。我将项目放在公用文件夹中,并将站点的根目录切换为/public\u html/public这是安全问题吗?但是在SSH中,我的php artisan没有工作或激活任何东西!你正在使用子域,对吗?设置子域非常简单,然后将文件夹指向其中的public。意味着您使用
    dev
    创建了一个子域,然后将所有框架上载到该子域,在“子域”面板中将文件夹路径设置为
    dev/public
    。使用SSH登录后,只需从dev而不是public内部运行命令。