2010-10-23 67 views
1

是否有可以在服务器上运行的CLI脚本(可能来自cron)来安装新的.zip文件?如何自动安装joomla模块

我工作的一个Joomla项目,我想办法自动有我的远程测试服务器上安装新版本时,我提交。目前我建立的软件包,然后必须登录到测试服务器,选择文件,上传。我想推拉链文件到服务器,并让Joomla把它拿起来安装它。

+0

听起来有点混乱。我将在下面描绘一些可能的方法... – giraff 2010-10-25 12:23:34

回答

1
  1. 创建这应该是一些选项触发插件= com_installmyxxzip
  2. 然后在事件中的插件onAfterRoute检查选项变量是你
  3. 现在,如果这是你的选项,然后更新模块通过下面的代码

    jimport( 'joomla.installer.installer')/组件/插件;

    $ installer = new JInstaller();

    $ installer-> setOverwrite(true);

    $ installer->安装($路径至文件夹);

要记住的要点:

  1. 而是把一个拉链,创建TMP-路径位置的文件夹。从文件夹安装更容易。
  2. 它更好地检查正确的认证,在做任何严肃的事情之前。
0

我不知道现有的解决方案。因此,如果您想自己创建,则需要提交后提交的挂钩,以触发以下操作之一:

  • 使用curl,您可以模拟登录,然后调用管理界面进行安装。 (您必须解析生成的html页面,因为表单使用隐藏令牌......)
  • 一个PHP脚本,基本上称为Joomla!安装代码,但允许其他形式的身份验证(例如,仅当从CLI调用时,仅从本地主机等调用)。
  • 是否真的需要通过Joomla!的界面进行安装?您可以通过将文件复制到正确的文件夹来升级大多数模块。
  • 或检出版本控制文件。
+0

我认为只是复制文件,但我也希望它运行SQL安装脚本,我想验证一切打包正确。我可能只需构建我自己的脚本来调用joomla的安装代码。 – 2010-10-25 14:28:27