2012-08-25 73 views
2

我使用adhoc-task直接在Phing build.xml文件中編寫PHP。如何正確使用Phing構建文件中的PHP?

下正常工作,但拋出了控制檯錯誤:

<adhoc-task name="foo"><![CDATA[ 

define('WP_INSTALLING', true); 

require_once '${build.dir.wp}/wp-load.php'; 
require_once '${build.dir.wp}/wp-admin/includes/upgrade.php'; 
require_once '${build.dir.wp}/wp-includes/wp-db.php'; 

$result = wp_install('title', 'admin', '[email protected]'); 

]]></adhoc-task> 

錯誤:您定義的自組織類必須是phing.Task的實例,建立你的定義必須是實例FAILED.The即席類phing.Task

但它仍然有效...

如果我換一個類中的PHP不會在所有的工作:

<adhoc-task name="foo"><![CDATA[ 

    class FooTest extends Task { 
    //php code .... 
    } 
]]></adhoc-task> 

錯誤:您必須爲AdhocTaskdefTask至少定義一個類。

將PHP包含在構建文件(無需訪問php/phing/tasks文件夾)中的正確方法是什麼?

回答

2

test/etc/regression/299/build.xml

<?xml version="1.0" encoding="utf-8"?> 
<project name="test" default="main"> 

    <target name="main"> 
    <bar/> 
    </target> 

    <adhoc-task name="bar"><![CDATA[ 
     class BarTask extends Task { 
      function main() { 
       print("BarTask: success!\n"); 
      } 
     } 
    ]]></adhoc-task> 

</project> 
+0

謝謝,我沒有注意到''在該文檔中,這些錯誤都消失了,但現在的問題是,它並沒有在所有的工作,例如https://開頭gist.github.com/3766989,有沒有簡單的我想念? – Wyck

+0

在CLI上使用'-verbose'和'-debug'選項來查看失敗的位置。 – cweiske

+0

謝謝,問題是包含文件中的幾個全局變量,如此處所示,http://stackoverflow.com/questions/9136073/manual-wp-install-difficulties。有沒有什麼辦法可以在使用''的函數之外運行原始php? – Wyck

相關問題