Installs and configures additional PHP modules and PEAR packages that are commonly used but not part of the Opscode Cookbooks. This includes additional tools that are used during development for quality assurance and testing.
This cookbook now adds support for CentOS 6.* and correct package names. Use this chef-php-extra::default instead of php::default to ensure compatibility with CentOS 6.*.
Chef 0.10.12 or higher required (for Chef environment use).
- Debian, Ubuntu
- CentOS, Red Hat, Fedora
The following Opscode cookbooks are dependencies:
['xdebug']['cli_color']= Enable cli colour output, defaults to
['xdebug']['scream']= Enable removal for of
@error suppression functionality, defaults to
['xdebug']['remote_enable']= Defaults to
['xdebug']['remote_autostart']= Defaults to
['xdebug']['remote_mode']= Defaults to
['xdebug']['remote_connect_back']= Defaults to
['xdebug']['idekey']= Defaults to
['xdebug']['file_link_format']= Defaults to
['xdebug']['profiler_enable_trigger']= Defaults to
['xdebug']['profiler_enable']= Defaults to
['xdebug']['profiler_output_dir']= Defaults to
['php']['ius']= Defaults to
install_packages actions which install composer in the directory provided, and installs the project's dependencies.
chef_php_extra_composer "/path/to/project/dir" do action [:install_composer, :install_packages] end
Install the additional PHP modules not part of the Opscode cookbook.
Installs and configures a standard set of tools used in development of PHP projects. This will install the standard set of static code analysis tools for PHP as well as testing and quality assurance tools.
Installs the php5 package. The version can be controlled on yum based systems using the
['php']['ius'] value. Possible vaulues are '5.4', '5.3' or false (to install the latest php package from the default repository).
Installs the php5_dev module that is required by xdebug.
Installs the php5_gd module adding support for CentOS 6.* and correct package selection.
Installs the php5_imagick module used for image processing.
Install the php5_mcrypt module that is commonly used but not part of the Opscode PHP cookbook
Installs php5_soap as it is a commonly used module that is not part of the Opscode PHP cookbook.
Installs php5_xml as it is a commonly used module that is not part of the Opscode PHP cookbook.
Upgrades PEAR using PEAR.
Installs PHP_CodeBrowser with PEAR so that is can be used to generate a GUI to interact with the source code and static code analysis results.
Installs PHP_CodeSniffer using PEAR with the standard sniffs PEAR and Zend.
Installs PHP_Depend with PEAR so that it can be used in Jenkins.
Installs PHP_PMD with PEAR so that it can be used in Jenkins.
Installs phpcpd which allows you to identify and duplicate code within your PHP project.
Installs PhpDocumentor so that you can generate API documentation for you code.
Installs phploc so that you can gather statistics about your PHP code.
Installs PHPUnit and dependencies for unit testing your PHP code.
Installs the php redis extension configure and make install from source after a checkout from GitHub from the master branch
Installs vfsStream which allows you to create mock file system resources for unit testing.
Installs and configures xdebug so that it provides more details stack traces for any error output. xdebug is configured to connect back to a debugger at the host machine initiating the request.
Installs the latest build of Zend Framework 1.x as system wide resource with PEAR.
You can select any of the recipes to be executed directly referencing them from this cookbook.
If you are setting up a development environment you can use the single recipe that will add all the standard tools that may be used during development of projects
License and Author
Copyright 2012, Inviqa
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.