在phing中运行php脚本

时间:2017-05-24 19:37:26

标签: php scripting phing

我正在尝试使用phing来自动化我在工作中所做的一些过程。目前,我正在尝试运行我拥有的PHP脚本,但是当我运行phing时没有输出到屏幕。这是我的build.xml文件:

<?xml version="1.0" encoding="UTF-8"?>

<project name="projectName" basedir="." default="release">
    <target name="release">
        <exec command="php path/to/script/script.php hi" escape="false"/>
    </target>
</project>

以下是script.php目前正在做的事情:

<?php

print_r($argv);

当我运行phing时,我希望它打印命令行参数(只是一个测试以确保一切正常),但我没有得到任何输出到屏幕。我在做什么吗?我使用的是php 7.1.4和phing 2.16.0

3 个答案:

答案 0 :(得分:0)

您忘记了passthru属性,因此您可以看到脚本的输出

试试这个:

<?xml version="1.0" encoding="UTF-8"?>

<project name="projectName" basedir="." default="release">
    <target name="release">
        <exec command="php path/to/script/script.php hi" escape="false"  passthru="true" />
    </target>
</project>

答案 1 :(得分:0)

因为另一个答案有误,所以我将更正后的代码放在这里:

<project name="projectName" default="release">
    <target name="release">
        <exec command="php path/to/script/script.php hi" 
              escape="false" 
              passthru="true"/>
    </target>
</project>

答案 2 :(得分:0)

注意:从Phing 3.x开始,command任务的exec属性已过时。

建议改用arg元素:

<?xml version="1.0" encoding="UTF-8"?>

<project name="exec" basedir="." default="main">
    <target name="main">
        <exec executable="php" passthru="true">
            <arg file="path/to/script/script.php"/>
            <arg value="hi"/>
        </exec>
    </target>
</project>