>我希望EZ团队能够解决我在下面陈述的问题,并且(如果这样做的话)我会相应地更改此帖子。当然,我的环境非常具体:窗户上的流浪者。但是,这没关系。我试图以相同方式启动的每个CMS,应用程序和框架都可以在几分钟之内运行。在当今的现代网络世界中,没有理由不要以同样的方式在所有方面工作。
钥匙要点
能够为每个团队成员提供相同的开发环境,以避免“它在我的机器上工作”借口>
因此,我们使用Vagrant具有专门针对单个项目的VM的相同副本,该副本可以轻松地破坏和重建而不会产生影响,以便于更容易,更快,更可扩展的开发,实验和部署。
>通过以下安装过程进行实验,我发现EZ Publish Do
>
重要说明:如果您不在Windows上,则步骤5可能不会发生在您身上。如果您在Windows上,则可以通过在“高架” Gitbash /命令提示符中运行整个过程(通过作为管理员运行)来避免步骤5。管理用户是唯一有权在Windows 8上创建符号链接的人。有传言说这是可以解决的,但它们都没有可靠地工作。管理您的开发环境会打开一个全新的蠕虫罐,因此您自己冒险。如果有人成功地授予了常规的Windows 8用户通过Gitbash创建符号链接的权限,请让我知道。
>>有一个Laravel Homestead改进的盒子准备和工作。如果您确实流浪查看它是否有效,请进行流浪销毁,以便我们可以配置它。步骤1:宅基地改进
>打开homestead.yaml文件,添加一个新站点:
步骤3:安装先决条件
<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>>该项目需要PHP才能安装PHP-INTL和PHP-XSL扩展。它还会要求您在整个设置向导中提供SendMail。在Homestead中,您可以将所有这些安装:
>
步骤4:获取代码
请注意,EZ发布非常荒谬,需要一段时间才能做到这一点。几乎可以保证,您将达到“每小时60条请求”,未经身份验证的GitHub API率限制,因此您可能必须在安装过程中输入用户名和密码以贯穿该障碍。
<span>sudo apt-get update </span><span>sudo apt-get install php5-intl php5-xsl sendmail</span>>
由于超时以及需要下载的大量数据,该过程可能会失败几次。如果发生这种情况,只需使用RM -RF EZPUB删除整个EZPUB文件夹,然后重新运行上述create-prodject命令 - 每次都会更快,因为每次下载软件包时,都会在后续请求中从本地缓存提供。 ,而不是重新下载。
>>安装程序将要求您在末端附近提供一些数据(秘密,后备语言环境等)。填写它或只点击每个输入以使用默认值。
>我们之所以不使用从EZ Publish网站下载的准备好的TAR存档的原因是因为准备好的档案包含符号链接 - 如果您的VM托管在Windows机器上,则这些档案不起作用。为了使事情保持多平台友好,我选择了作曲家Create-Project方法。
如果发生这种情况(您会收到有关Symlinks等的错误),请打开Composer.json并删除行:
这将迫使安装程序
复制<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>设计资产,而不是
symlink 他们。
然后,通过执行:
<span>sudo apt-get update </span><span>sudo apt-get install php5-intl php5-xsl sendmail</span>
步骤6:创建一个数据库
创建一个数据库,我们将稍后再提供给EZ。使用MySQL -U homestead -pecret登录VM中的MySQL实例。然后,运行:
可以在Homestead上跳过此步骤,因为服务器已经在“ Vagrant”用户下运行,该用户拥有EZPUB文件夹中的所有子文件夹。
<span>cd Code </span><span>composer create-project ezsystems/ezpublish-community ezpub</span>步骤8:运行设置向导
>
>访问ez.app:8000并查看以下屏幕。
这是它变得非常奇怪的地方。无缘无故,这会发生。是的,这是一个已经没有解决的问题已经两年了 - 严重的是,这是一个PHP项目中的两年未解决的虫子。将其修复在核心中需要七秒钟的工作,包括提交和推动(请参阅8.2)。在我们的情况下,有两种方法可以解决。没有一个令人愉快的人,所以要选择一个。
>
如果您不喜欢更改框架的源文件,请选择此方法。
>步骤8.2:黑客胆量
进入ezpubezpublish_legacykernelsetupezsetup.php,找到该行:
上方,放:
<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>>
之后,操作属性将被修复。
<span>sudo apt-get update </span><span>sudo apt-get install php5-intl php5-xsl sendmail</span>>
>我不建议您尝试通过跳过向导来手动设置EZ发布,因为您会发疯。客观上,他们的安装程序及其文档是我见过的最糟糕的一些。如果您试图遵循他们的指示,您将失去所有愿望。我希望EZ团队很快能够完全消除所有依赖性和对其遗产系统的参考,仅留下了新的核心 - 我也希望他们很快将其文档更新为更可读性,更像2014年的东西:人们在专用方面发展了VMS现在越来越多,一个简短的安装过程以及易于入境是任何想要脱颖而出的CMS的最关键属性。
>步骤9:忽略向导错误
>忽略此警告。继续进入下一个屏幕(如果您使用8.1。,请不要忘记再次更改表单操作,否则您将重新开始)。
在设置向导的末尾,您将获得NGINX超时错误。这是因为众所周知,EZ发布速度很慢,因为它必须处理可怕的旧版本和新版本,并且由于在VM上运行,因此,当发生这种情况时,只需从URL中删除与Ezsetup有关的任何内容。然后,您将受到这个美的欢迎:
在EZ试图创建PHP文件的缓存时,上述屏幕中发生的错误发生了,例如: /home/vagrant/code/ezpub/ezpublish/cache/stash/stash/0fea6a13c52b4d47/25368f24b045ca84/a1e4f17491919d0404040406d06113d67777c9e0/a1e4f174919d040677c9e0/4aa1c6be6be6be6be6be177 996F9E/03934AE1C1C02FFC/9A0364B9E9BB480/DD25E1F0284C8555/CAF9B6 B99962BF5C/2264824231D7A40C/D3D9446802A44259/755D38E6D163E820.PHP (U,不要问…)。
这个缓存引擎不足以使其自身失败,因此我们必须手动进行。
> 在ezpubezpublishconfigezpublish.yml中,>
<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>“在内存中”意味着内存将用于存放缓存,而不是文件系统。用RM -RF EZPUBLISH/CACE/*清除缓存,然后刷新。如果需要,请用比文件类似缓存更替代缓存引擎。我不知道如何减轻MKDIR的协议错误 - 我知道这与VM有关,但没有更多。任何建议都非常感谢。
>现在,您可能会因又一次的警告和503的错误而受到欢迎:
>
>
步骤11:bootstrap.php.cache and Response limits或,您只需在ezpub/web下编辑index.php文件,然后放入$ emoveruct ='dev';在$环境下= getEnv(“环境”);在第8行。
在这一点上,如果您遵循的话,第二种方法会更容易,因为否则,如果您再次销毁,则必须重新开始整个设置过程。
>完成此操作,您应该能够将其呈现:<span>sudo apt-get update </span><span>sudo apt-get install php5-intl php5-xsl sendmail</span>>
由于EZ发布请求响应非常荒谬,我们需要提高NGINX的限制:
在根指令下,粘贴以下内容:
保存,退出,使用sudo Service nginx重新启动nginx。
有些页面将起作用(博客,发现),其他页面也不那么多。但是,调试他们的演示捆绑包已超出已经太长的文章的范围。
>默认情况下,由于某种原因,所有Symfony应用程序在其URL中都具有“ app.php”或EZ Publish的案例“ index.php”。我猜某人必须支持2001年以来的托管提供商和开发商。让我们通过删除这两个项目。
<span> - map: ez.app </span><span> to: /home/vagrant/Code/ezpub/web</span>根据此处的说明,在“位置”块上方,添加:
保存,退出和重新启动nginx with sudo service nginx restart。
<span>sudo apt-get update </span><span>sudo apt-get install php5-intl php5-xsl sendmail</span>步骤13:欢乐
经过艰巨的过程,我们终于完成了。是什么花了我一天以上,希望您不到10分钟(不包括下载时间)。现在,您也可以在自己的宅基实例上尝试这种功能强大的,尽管过度过多,过于复杂和过时的CMS。让我知道它是如何工作的!
在我看来,任何需要这么多工作才能在流浪盒上启动和运行的CMS不是值得关注的CMS。当然,您可能可以轻松地将其安装到主机机器上并以这种方式运行,但这不是专业的方法 - 开发环境需要封装和隔离,并且开发人员需要能够在一时兴起销毁和重建实例。 CMS应具有自动执行的脚本,检测所有可能的问题(例如,不可用的符号链接并自动切换到硬拷贝模式)并设置所有内容(从数据库到文件夹权限,仅在必要时),只要求Sudo一路上。
编辑:此Github储备金引起了我的注意。它是EZ Publish的准备的Vagrant配置。但是有两个警告:
ez发布5.x与其他CMS平台相比如何?
>在Homestead上安装EZ Publish 5.x是否难以在Homestead上进行?在Homestead上很简单,尤其是如果您遵循文章中提供的分步指南。它涉及设置宅基地,配置系统,安装EZ发布以及设置您的网站。虽然您是新手,但该指南会详细介绍每个步骤,从而更容易遵循。
,EZ Publish 5.X拥有大量的用户和开发人员可以提供支持的用户和开发人员。还有许多在线资源,教程和论坛,您可以在其中找到帮助。此外,EZ Systems提供了专业支持服务,EZ Publish。
ez Publish 5.x设计有多么安全。它包括基于角色的权限,安全密码存储以及防止常见Web攻击的功能。但是,像任何软件一样,保持更新并遵循Web安全性的最佳实践,以确保您的网站保持安全。 🎜>是的,EZ Publish 5.X可用于电子商务网站。它支持一系列电子商务功能,包括产品管理,购物车功能和支付网关集成。但是,您可能需要使用其他插件或扩展名来提供您对电子商务网站所需的所有功能。
>>如何优化我的EZ Publish 5.x网站的性能?
的功能,是的,EZ Publish 5.x是高度扩展的。您可以使用插件和扩展名添加新功能和功能,并且由于其开源性质,也可以自定义核心代码。但是,重要的是要注意,修改核心代码可能会使应用更新更加困难,并可能引入安全风险。以上是13个使EZ发布5.x在Homestead上工作的步骤的详细内容。更多信息请关注PHP中文网其他相关文章!