Php Laravel 4-在VPS上克隆本地项目

Php Laravel 4-在VPS上克隆本地项目,php,laravel,laravel-4,Php,Laravel,Laravel 4,我使用Laravel 4来开发我的项目 我在Mac上开发,提交到Git,然后在服务器上克隆它(linode 1G VPS) 由于默认情况下“vendor”文件夹是“GIT-ignored”,所以我通常在服务器上克隆项目后进行“composer-install” 之后,我在本地安装任何其他软件包,然后在服务器上执行“composer update” 昨天,我报告了这个问题- 到目前为止,我还没有找到解决办法。我甚至试着做一个“新的”克隆和“作曲家安装”,这给了我内存错误。这是非常令人沮丧的 我的问

我使用Laravel 4来开发我的项目

我在Mac上开发,提交到Git,然后在服务器上克隆它(linode 1G VPS)

由于默认情况下“vendor”文件夹是“GIT-ignored”,所以我通常在服务器上克隆项目后进行“composer-install”

之后,我在本地安装任何其他软件包,然后在服务器上执行“composer update”

昨天,我报告了这个问题-

到目前为止,我还没有找到解决办法。我甚至试着做一个“新的”克隆和“作曲家安装”,这给了我内存错误。这是非常令人沮丧的

我的问题是,把我的整个项目上传到服务器上可以吗?既然“供应商”文件夹是唯一被“git忽略”的东西,若我把所有东西都复制到那个里,它会工作吗?(我还没有试过,因为我的服务器现在还活着,我不想损坏任何东西)

“compiled.php”文件的实际角色是什么?它是否依赖于平台?我也可以复制那个文件吗

我已经多次看到这个记忆问题,并且读到其他人报告类似的问题。我希望我能上传整个项目文件夹,并祈祷它能正常工作


谢谢你的帮助

我没有VPS,甚至我的提供商没有shell访问我的自定义/共享主机的权限,但我可以运行
git
composer
命令,而不需要这些

使用sshfs sshfs实际上会将SFTP连接到您的服务器,并将服务器装载到本地目录。
这样,您就可以在本地运行
git
composer
命令。您不依赖VPS/主机服务器。sshfs将后台文件发送到远程服务器

要将VPS装载到本地目录,请运行以下命令

sshfs user@serverip:. /path/to/existing/local/dir // to mount root dir
cd !$ // to get into mounted dir

// or

sshfs user@serverip:foldername /path/to/existing/local/dir // to mount specific dir
cd !$ // to get into mounted dir

现在你可以做任何你想做的事。

这对你来说是件好事——可以通过这样的方式设置Laravel配置,即相同的应用程序(非常相同的代码副本)可以在不同的服务器(环境)上执行不同的操作

我之所以这么说,是因为如果你早晚将远程服务器与代码的本地副本同步,你会遇到诸如每次同步后更改db凭据或应用程序设置之类的问题,这当然没有意义:)

请查看以阅读更多关于这方面的信息,或者通过

该环境基于url匹配

您将在/bootstrap/start.php中找到该配置

$env = $app->detectEnvironment(array(

'local' => array('your-machine-name'),

));
现在假设您正在本地开发,并使用前缀/后缀local。例如:my-new-site.local或local.my-new-site

$env = $app->detectEnvironment(array(

'local' => array('local.*','*.local'),

));
这将设置环境,现在要使用它,您需要在/app/config中创建一个本地文件夹/

1 mkdir app/config/local
因此,您希望为本地数据库配置不同的数据库。只需将数据库配置文件复制到本地目录并进行修改

1 cp app/config/database.php app/config/local/database.php
总结并回答您的问题:

1) 我想将整个项目目录复制到远程服务器是可以的(不过,如果您的复制供应商提供,这可能需要很多时间-它通常包含大量文件)

2) 如果这样做,请记住在远程服务器上更新composer.json(以反映所有必要的需求)

3) 如果您在本地和远程使用不同的数据库服务器,则显然必须在远程服务器上运行迁移和种子程序(这也涉及到包迁移/种子)

4) 迁移所有文件后,请执行以下操作:

composer dump-autoload
php artisan optimize --force --env=YourProductionEnvironmentName
哪个应该重建引导/自动加载器

5) 如果您使用上述Laravel环境设置,请记住将远程服务器视为生产服务器(如果您的本地服务器正在测试/暂存)