Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将已开发的laravel项目部署到远程服务器,使其成为intranet应用程序?_Php_Laravel_Deployment_Windows Server 2012_Intranet - Fatal编程技术网

Php 如何将已开发的laravel项目部署到远程服务器,使其成为intranet应用程序?

Php 如何将已开发的laravel项目部署到远程服务器,使其成为intranet应用程序?,php,laravel,deployment,windows-server-2012,intranet,Php,Laravel,Deployment,Windows Server 2012,Intranet,我是一个网络开发新手,如果这个问题有点不合适或者太简单,我很抱歉。我刚刚使用Laravel完成了我的第一个web应用程序的开发,它将用作特定设施的intranet应用程序。我在我的windows机器上开发了应用程序,现在我们正在进行部署,我可以远程访问设施的服务器(windows server 2012)。但是,服务器没有internet连接,因此我只能复制、粘贴(或任何其他脱机操作),因此我脱机安装了XAMPP,只需在服务器的htdocs目录中复制粘贴的项目文件,然后在以下文件中添加了服务器名

我是一个网络开发新手,如果这个问题有点不合适或者太简单,我很抱歉。我刚刚使用Laravel完成了我的第一个web应用程序的开发,它将用作特定设施的intranet应用程序。我在我的windows机器上开发了应用程序,现在我们正在进行部署,我可以远程访问设施的服务器(windows server 2012)。但是,服务器没有internet连接,因此我只能复制、粘贴(或任何其他脱机操作),因此我脱机安装了XAMPP,只需在服务器的htdocs目录中复制粘贴的项目文件,然后在以下文件中添加了服务器名称 “C:\xampp\apache\conf\extra\httpd vhosts” “C:\Windows\System32\drivers\etc\hosts” 像这样:

执行此操作后,应用程序将正常启动,但当然也需要在服务器中配置数据库,因此我的问题如下: 1-这样做是正确的方法,还是有更好的方法(在安全性、可维护性等总体标准方面)? 2-如果这是正确的方法,那么我应该将数据库从我的机器复制粘贴到服务器上,还是让他们提供对服务器的internet访问,以便我可以安装composer、git和其他工具,使我能够根据代码自动生成数据库? 3-如果我继续以这种方式使用它,修改代码将是非常令人厌烦的,因为每次我编辑一些东西时,我都必须遵循在我的机器中编辑的文件,并在服务器中相应地更改它们,那么维护应用程序的正确方法是什么?还是只能在服务器中使用internet连接


如果问题太长,我很抱歉,我只是这方面的新手,希望对web应用程序的部署有一个全面的了解,当然,如果有其他完全不同的方法,我很高兴知道。

您应该有数据库连接所需的信息,例如主机、端口、用户名、,密码和数据库名称。 获得这些信息后,只需编辑远程项目目录中的
.env
文件以匹配这些信息

然后运行php artisan migrate,它将创建数据库和所有表。你不需要互联网连接就可以做到这一点

由于您的远程计算机没有internet连接,您可以将所有文件从本地目录复制到远程计算机。Composer只需将所有内容安装到
供应商
目录中,但如果您也复制了它,则无需运行
Composer


为了稍微加快这个过程,您可以使用它来同步本地和远程目录。当然,这不是一个最佳实践,但对您来说是一个巨大的帮助。

感谢我将composer与artisan命令混合在一起所做的澄清,也感谢thnx对WinSCP的澄清。但我只是想确认一下,在我的案例中,我遵循的过程是否良好,或者我应该在这个过程中做些什么改进。好吧,最佳实践建议使用git在远程服务器上复制文件,不要手动复制,因为这很容易出错。当然,您需要访问该服务器才能运行git命令
in "C:\xampp\apache\conf\extra\httpd-vhosts"

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/proj/public"
    ServerName www.something.com
</VirtualHost>
in "C:\Windows\System32\drivers\etc\hosts"

127.0.0.1 localhost
127.0.0.1 www.something.com