What is PHP?
PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.
Where can I learn more about PHP?
Online resources:
- The official PHP Homepage with documentation, tutorials, FAQ, etc.
- The W3Schools PHP Tutorial is a great way to learn about PHP by example.
Books:
- PHP Cookbook by David Sklar and Adam Trachtenberg.
- PHP in Action by Dagfinn Reiersøl with Marcus Baker and Chris Shiflett. (Book review on Slashdot.)
How is PHP used by Moodle?
- Installing Moodle/Creating custom php.ini files
- PHP settings by Moodle version
- PHP error logs
- php.ini related discussions in the Moodle forums
Which version of PHP is required by Moodle?
- See Installing_Moodle#Requirements.
- You can tell which version you are using by looking at PHP info.
How do I install PHP?
Usually you don't have to install PHP at all, as normally it is installed alongside Apache and MySQL in a combination known as AMP (see Installing AMP for details). If you run Moodle on hosted web space PHP is also usually installed already.
It is possible to build PHP from source - you might have to if you need a very new version for developing Moodle - however, it is quite challenging. PHP itself has many dependencies that you will need to obtain and build, some of which are also tricky to build from source (e.g. GD).
How do I check the PHP configuration on my server?
Run the phpinfo() command. It will display a whole lot of information about the current PHP configuration on your server.
You can also run this command from within Moodle. This option is available under Administration > Server > PHP info.
The PHP info page provides information on the version of PHP your server is running, including PHP compilation options and extensions, server information, the PHP environment and OS version information.
If you have a problem with your Moodle site and ask for help in a Moodle.org forum, you may be asked to provide some information from this page.
See also phpinfo and PHP manual: phpinfo.