将Laravel 4文件移动到生产服务器FTP(cPanel)

将Laravel 4文件移动到生产服务器FTP(cPanel),ftp,laravel-4,cpanel,Ftp,Laravel 4,Cpanel,我已经成功地在我的生产服务器上安装了laravel版本4.1.24(使用softaculous),现在我想将我的应用程序从本地机器移动到生产服务器(cPanel类型的web主机),但我在想如何做时遇到了一个麻烦。我在网上发现了一些讨论类似问题的论坛,但没有任何帮助。我需要移动哪些文件?我可以通过FTP移动它们吗?我不熟悉任何其他方法 更多详细信息:当我复制“应用程序”和“公共”文件夹中的所有关键文件时,会出现一个错误,它无法识别我的模型类。当我复制所有内容(包括“供应商”和“引导”时,它仍然无法

我已经成功地在我的生产服务器上安装了laravel版本4.1.24(使用softaculous),现在我想将我的应用程序从本地机器移动到生产服务器(cPanel类型的web主机),但我在想如何做时遇到了一个麻烦。我在网上发现了一些讨论类似问题的论坛,但没有任何帮助。我需要移动哪些文件?我可以通过FTP移动它们吗?我不熟悉任何其他方法

更多详细信息:当我复制“应用程序”和“公共”文件夹中的所有关键文件时,会出现一个错误,它无法识别我的模型类。当我复制所有内容(包括“供应商”和“引导”时,它仍然无法识别我的模型类)。一定有人做过这件事。你做了什么

更新:
我越来越接近这个问题了。我开始在本地和生产环境中进行新安装,并为以下文件夹移动/重写文件:
/app/controllers
/app/models
/app/views

还移动/重写了app/filters.php文件。除了“public”文件夹之外,到目前为止,它几乎包含了我的整个应用程序

然后我复制了一个超级精简的app/routes.php文件,该文件只有一条路由:

Route::get('/', function()
{
$users = User::where('id', '<' ,'100')->whereNotNull('first_name')->get();

    foreach($users as $user){
        echo $user->first_name . '<br>';
    }
});
我害怕修改这个文件,因为我不知道我在那里做什么。这让我找到了其他几个同样缺乏方向性的文件。有什么想法吗

更新3:

看起来Laravel 3有这样的东西:。我需要了解如何在Laravel 4中执行此操作。

您必须复制所有文件,并小心使用conf/local,因为您的本地配置中有一些不在genral文件中的配置

请记住,您需要安装

PHP>=5.3.7 MCrypt-PHP扩展 PHP JSON扩展

如果你打算开发网络应用程序,你应该学习一种版本控制软件

使用git,将项目转移到生产环境就像在shell中键入命令一样简单,您可以将代码副本安全地保存在其他地方,如或

您还有更复杂的部署软件,例如,它们让您完全控制部署

甚至可以使用php作为服务场所,如


与使用ftp相比,我更推荐您使用这些方法。

当我从laravel收到一个找不到的控制器类时,这意味着我忘记运行
composer dump autoload

要避免这种情况,请打开文件
app/start/global.php
,并证明您在
ClassLoader::addDirectories数组中拥有所需的路径

它对我来说工作得很好,不需要
composer dump autoload
。由于它不扫描子曲面,当您开始按dir组织模型和控制器时,您可能会后悔使用它

如果您愿意考虑使用命名空间来从代码> >作曲家转储Autooad < /代码>中解脱,请阅读以下内容:

Route::get('/', function()
{
$cars = Car::where('id', '<' ,'100')->get();

    foreach($cars as $car){
        echo $car->name . '<br>';
    }
});

为什么您需要在本地和生产中单独安装Laravel,为什么不在本地安装和安装Laravel,然后通过FTP传输整个项目。@har2vey您是否尝试过传输所有内容?我很好奇它是否对你有效,因为它对我无效。我想知道是否有一些特定于我本地机器的东西需要更改。你知道那可能是什么吗。。。但是我已经束手无策了,所以我相信明天我会再试一次。你们有相同的本地和生产服务器目录结构吗?如果是,您的生产php服务器是否与laravel 4所需的最低要求兼容?如果您使用的是cPanel和FTP,很可能不是。您还需要检查PHP版本和主机的必需扩展(mycrypt等),在cPanel上运行的旧主机可能在版本5上运行。2@user2094178就我所知,目录结构看起来完全相同。另外,是的,它安装了laravel 4.1.24(使用softaculous)。谢谢。har2vey还提到了mcrypt扩展。我不熟悉那个文件。我该怎么处理它?此外,服务器正在运行php版本5.3.28。那么这不管用吗?最后,我一直在避免学习像git这样的版本控制软件,但听起来我真的应该去学习。我知道从长远来看这会有回报,但我一直在避免前期投资。如果您有ssh访问权限,请尝试
php-I | grep mcrypt
进行检查,否则请编写类似info.php的文件并添加
,然后从浏览器中进行检查。如果你使用laravel或其他类似的框架,这是学习git的必经之路,我还建议你将你的项目放在一个带有ssh访问的主机中,是的,你也应该学习一些linux控制台的基础知识。所以我应该检查文件是否存在?它应该在哪里?关于git和linux的建议不错,但我认为这不会解决我眼前的问题。让我的托管公司启用SSH并运行
composer dump autoload
。谢谢关于您的其他建议:我的所有模型类都在
app/model
目录中(不在子目录中),默认情况下,该目录列在
app/start/global.php
ClassLoader::addDirectories数组中。这对我还是不起作用。我会看看你贴在下面的帖子。谢谢你的帮助!
require __DIR__.'/../vendor/autoload.php';