我有一个Laravel 4.2应用程序,它在生产环境中。 有时我在本地版本中有错误修复或更新,我想知道如何将这些更改从本地移动到生产。
仅更换已更改的文件/类并不起作用。我尝试只替换控制器文件,但它不起作用。
Laravel是否在我需要上传到生产服务器的地方编译代码,我需要在生产中更改/上传以反映更改的所有内容?
答案 0 :(得分:1)
默认情况下,PHP不是编译语言,因此更改和上传的文件无需任何特殊处理即可运行。 Laravel只是PHP,因此遵循相同的规则。
但是,Laravel使用自动加载器来跟踪所有类。添加新类时,需要通过运行:
告诉自动装带器它是否存在composer dump-autoload
这将扫描可用的类并更新自动加载器列表。
如果运行composer dump-autoload
后问题仍然存在,或者您没有添加任何新类,则可能需要考虑三个问题:
登录到生产服务器并查看上载文件的时间戳。它们符合您的期望吗?考虑打开生产中的文件,看它们是否包含您的最新更改。
虽然默认情况下不编译PHP,但有一些工具可用于编译它,以及其他允许您缓存脚本输出的工具。询问您的服务器管理员是否正在使用这些工具。
最后,检查您的更改是否正在生产中,但不会以您期望的方式运行。