Существует два способа выполнения задач запуска. Метод «старой школы» должен был включать задачу как часть метода OnStart роли. Это может быть сделано либо путем встраивания функциональности в OnStart RoleEntryPoint, либо путем запуска для запуска командного файла или сценария powershell. Однако этот подход требует от вас возможности вносить изменения в то, что по сути является классом управляемого кода .NET. Что-то, что не может быть оптимальным в вашей среде на основе php.
Второй подход - новый, доступный через релиз 1.3 SDK, выпущенный на PDC10. Это использует новые задачи запуска, которые доступны через конфигурацию сервиса. Уэйд Вегнер, член команды разработчиков, имеет хороший пост в блоге, в котором обсуждается использование этой функции. В nuthsell вы можете запускать эти команды запуска или команды powershell, не изменяя событие OnStart в управляемом коде.
http://www.wadewegner.com/category/startup-task/
Теперь проблема для вас может заключаться в том, что ваша задача запуска определяется в скрипте PHP. К сожалению, я не смог найти никаких убедительных примеров для этого, и мои навыки PHP по общему признанию довольно ограничены. Но это еще может быть выполнимо. Надеемся, что информации в блоге Уэйда будет, по крайней мере, достаточно, чтобы вы пошли в правильном направлении. :)