What is PHP?
PHP is a widely-used general-purpose server-side scripting language that can be embedded into HTML. You can think of it as a "plug-in" for your web server that will allow it to do more than just send plain Web pages when browsers request them. With PHP installed, your web server will be able to read a new kind of file (called a PHP script) that can do things like retrieve up-to-the-minute information from a database and insert it into a Web page before sending it to the browser that requested it. PHP is completely free to download and use. If you are new to PHP and want to get some idea of how it works, try the introductory tutorial.
What is MySQL?
MySQL is a relational database management system, or RDBMS. It has become the world's most popular open source database because of its consistent fast performance, high reliability and ease of use.
MySQL Home Page
Manual
Download
Useful MySQL Database Administration Tools
phpMyAdmin (freeware)
Installing PHP and MySQL on Windows
Both PHP and MySQL support various platforms, including Windows.
If you have difficulties installing PHP and MySQL, you may try XAMPP which is a free, easy-to-install Apache distribution containing MariaDB (a fork of MySQL) and PHP.
The next step is to set up a valid configuration file for PHP, the php.ini. PHP searches for php.ini in the locations described in The configuration file.
Some Important Settings in php.ini for Using PHP on Windows
extension_dir - In what directory PHP should look for dynamically loadable extensions. It should be set to the folder where your extensions are installed, e.g.
extension_dir="C:\Program Files\PHP\ext"
session.save_path - This is the path where session data files are stored. Make sure this setting points to an existing folder on your machine, e.g.
session.save_path="C:\Windows\Temp"
upload_tmp_dir - If you want to use file upload, make sure this setting points to an existing folder on your machine, e.g.
upload_tmp_dir="C:\Windows\Temp"
php_openssl.dll - If you need to work with SSL/TLS, make sure you enable OpenSSL support by the following line in php.ini:
extension=php_openssl.dll
To use OpenSSL, you must configure openssl.cafile or openssl.capath. For example, you can download a PEM file here and specify it by openssl.cafile:
openssl.cafile="C:\Program Files\PHP\cacert.pem"
Configuring Read/Write Permissions
An important aspect of working with file upload to a folder on the web server is to correctly configure Read/Write permissions.
When a web application uses a file, the application must have Read permission to the file so the application can access it. Additionally, the application must have Write permission to the folder that contains the file because new files may be created in the folder at run time.
If you use Linux/Unix server, CHMOD your upload folder to, for example, 755.