I added an XL Deploy extension of the generic plugin to handle the deployment of PHP applications.
XL Deploy was formerly named Deployit and is a key product in the XL Platform offerings of XebiaLabs.
The extension is declared in the synthetic.xml file as follows.
A type named my.DeployedPhpConfigurationFolder extends generic.CopiedArtifact and is deployed to a container of type www.ApacheHttpServer. A target directory is created if necessary and the Apache web server is restarted if a file in the configuration folder is deployed.
A PHP application is deployed based on a deployit-manifest.xml file that contains two deployable types: a file.Folder and the my.PhpConfigurationFolder. The file.Folder contains all the PHP files. The my.PhpConfigurationFolder contains any configuration files needed by the application. The configuration files have placeholders such as environment-specific passwords, database configurations, and target server names that are replaced during deployment.