Я хочу запустить задачу в Phing, где я сначала запускаю сервер PHP, а затем запускаю тест модуля PHP.Запуск php-сервера в Phing
Это то, что я до сих пор:
<target name="test">
<!-- Run the PHP server -->
<exec executable="php">
<arg line="-S localhost:81 server.php"/>
</exec>
<!-- Run my tests -->
<exec executable="${phpunit.bin}" dir="${test.dir}" passthru="true" returnProperty="test.result">
<arg line="IntegrationTests"/>
</exec>
<!-- Check if succeeded -->
<condition property="test.succeeded">
<equals arg1="${test.result}" arg2="0"/>
</condition>
<fail unless="test.succeeded" message="Unit Tests Failed"/>
</target>
Вопрос заключается в том, что Phing зависает после создания сервера PHP.
Проблема решается путем добавления икру свойства следующим образом:
<exec executable="php" spawn="true">
Это работает, как ожидалось, за исключением того, что процесс фактически никогда не выходит даже после того, как Phing выходит. Другими словами, PHP-сервер по-прежнему работает долго после завершения Phing своих задач.
Поэтому мой вопрос заключается в том, как правильно запустить php-сервер в фоновом режиме в Phing?