如何自动安装joomla模块

时间:2010-10-23 17:29:05

标签: joomla joomla1.5

我是否可以在服务器上运行CLI脚本(可能来自cron)来安装新的.zip文件?

我正在开发一个joomla项目,我想在我提交时自动将新版本安装在我的远程测试服务器上。目前我构建了包然后必须登录测试服务器,选择文件,上传。我想将zip文件推送到服务器并让Joomla拿起并安装它。

2 个答案:

答案 0 :(得分:1)

  1. 创建一个应该在某个选项= com_installmyxxzip
  2. 上触发的插件
  3. 然后在onAfterRoute事件的插件中检查选项变量是否是你的
  4. 现在,如果您选择它,请通过以下代码

    更新模块/组件/插件

    jimport('joomla.installer.installer');

    $ installer = new JInstaller();

    $ installer-> setOverwrite(真);

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

  5. 要记住的要点:

    1. 而是放置一个zip,在tmp-path位置创建文件夹。从文件夹安装更容易。
    2. 在做任何严肃的事情之前,最好检查一下正确的身份验证。

答案 1 :(得分:0)

我不知道现有的解决方案。因此,如果你想提出自己的,你需要一个post-commit钩子来触发以下行为之一:

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