2010-10-23 113 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