Showing posts with label windows server. Show all posts
Showing posts with label windows server. Show all posts

Friday, July 3, 2015

Install PHP on IIS for Windows Server 2012

1. Download PHP

You can get the PHP binaries from http://windows.php.net/download/.
You will need the VC11 x64 non thread safe version in the ZIP format. (For 64 bit windows ) 
You will need the VC11 x86 non thread safe version in the ZIP format. (For 32 bit windows ) 
Note Non Thread Safe is for IIS and thread safe for Apache
[* Note x64 is for testing.not working well.use 32bit php mean VC11 x86 non thread safe ..so if your server/pc 64 bit no problem to use VC11 x86 non thread safe. ]
2. Unpack PHP
Once you have downloaded PHP, un-zip the package to a location of your choice.
The recommended location is c:\php\ 

3. Install the C++ Runtime

PHP is compiled using the Visual Studio Compiler so we must install the C++ Runtime in order for PHP to work.
If you do not do this step, you will get an Error 500 from the fast-cgi module and PHP will not work.
– Browse to http://windows.php.net/.
– On the left side, select the download link for Visual C++ Redistributable for Visual Studio 2012 (link working at time of posting).
– When the page loads click download, and then select the filename with x86 in it,(FOR 32bit) then click next.
– When the page loads click download, and then select the filename with x64 in it,(For 64bit) then click next.
– Run the installer and follow the on screen instructions..
[* Note in 64 bit c++ not work fine. Install both x86 and x64 C++. ]

4. Install the CGI module in IIS

The CGI module is necessary for PHP to run. By default this isn’t installed so we will need to do this before we can proceed.
Depending on the version of Windows you are running the procedure is slightly different, so you will need to choose from one of the two methods below.

Windows Server 2008 and 2008 R2
– Navigate to Start\Control Panel\All Control Panel Items\Administrative Tools and open Server Manager.
– In the left hand side there is a tree of services, navigate to Roles > Web Server (IIS).
– Scroll down until you see Role Services.
– Select Add Role Services.
– Find Application Delevopment and then CGI and select the tickbox.
CGI role for IIS in Windows Server 2008
– Click Next and then Install
– When it has finished, you may need to restart IIS or the computer. Do this if requested.

5. Installing PHP

We that we have the necessary roles we can now install PHP.

– Load up the IIS Manager by going to Control Panel\All Control Panel Items\Administrative Tools and opening Internet Information Services (IIS) Manager.
– In the folder tree on the left select your server, then select the site you want to add PHP to.
– In the icon view, select Handler Mappings.
– On the right, select Add Module Mapping.
– Fill out the fields as below:

Request Path: *.php
Module: FastCgiModule
Executable: d:\php5\php-cgi.exe     Remember to enter the path you un-zipped PHP to.
Name: php5     You can select any name you wish.

– Now click the button Request Restrictions…
– On the Mapping Tab click the check box and then select File.
Default Index File / Default Document
– Click OK twice and the module is now installed.

6. Adding an index file/default document for PHP

An index file/default document is the file that is first called automatically when you visit a folder. For example visiting www.iisunderground.com will automatically invoke index.php from the root folder. We need to tell IIS what we want to use as this file.

– On the left of the IIS Manager, select the site we are working on again to return to the page of icons.
– From here select Default Document.
– On the right click Add.
– In the box, enter index.php
– Click OK and the index file/default document is now added.

7. Configure php.ini

Before test we need to configure the php.ini file.
Rename php-production  file to php.ini 
Open the ‘php.ini’ file in Notepad and configure it as needed. There are a few changes you will need to make to configure PHP for your IIS 7 system:
  • Uncomment and set the key, cgi.force_redirect = 0
  • Uncomment the key, fastcgi.impersonate = 1
  • Uncomment and set the key, extension_dir to the ‘ext’ folder in the path PHP was extracted to Example :  extension_dir = "C:\php\ext"
  •  if need Set the key, date.timezone to the time zone of your server (the URL on the line above this key lists the accepted values).

8. Testing our installation

To make sure the install has worked, we need to create a test PHP file.
– Create a new file in the folder you have stored your websites files in.
– Name it test.php
– Inside it, put the following code:

<?php phpinfo(); ?>

– Save it and then visit the URL to test.php and you should get something like this:
An example of a PHPInfo page

Important Note

There's a fairly good chance you're missing the correct VC++ runtime for the version of PHP you're running.
If you're running PHP 5.5.x you need to ensure the VC++11 runtime is installed:
Make sure you download and install the x86 version (vcredist_x86.exe), PHP on Windows isn't 64 bit yet.
Check If need to display error
http://www.iis.net/learn/application-frameworks/install-and-configure-php-on-iis/improve-php-error-messages-in-iis-7-and-above



Monday, May 11, 2015

How to Install Apache 2.4, PHP5./5.6 and Mysql on Windows Server 2008/2012



Downloading all files

Download Apache
We are going to use the unofficial Windows binary from Apache Lounge for windows.  it is provided as a manually install-able ZIP file from www.apachelounge.com/download/  For 64bit download  httpd-2.4.12-win64-VC11 Download and extract the zip and copy it to the root of C:\. This will be C:\Apache24 when it is all done.
Download windows Visual C++ Re-distributable 
Download PHP
Download php-5.X.X-Win32-VC11-x64.zip Thread Safe from http://windows.php.net/download/ . Extract and rename folder to php and move to C:\.
Note : Thread Safe for Apache and non thread safe for IIS
Edit Apache’s config file, c:\Apache24\conf\httpd.conf and add the following lines to the bottom of the file.
LoadModule php5_module "c:/php/php5apache2_4.dll"
AddHandler application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "C:/php"
While we are at it we can add index.php to Apache’s list just incase we want to have a starting page as php.
Find Directory index and add index.php
DirectoryIndex index.html index.php
Install Apache Service
Now let’s install Apache as a service. Open a command prompt and type.
c:\apache24\bin\httpd -k install
If do not want Apache starting automatically at start-up/reboot:
GUI Way
START | RUN
Type in services.msc, hit Enter or click OK
Locate Apache2 service and double-click (or right-click for Properties)
Find the caption Startup type: (in the middle of the dialog box), use the pull-down and select Manual
Click OK
PHP Edits
Now we have to do a few edits to the php.ini file to tell it to load support for mysql and the location for the extensions. Since there is not a already set php.ini file we need to rename one of the two examples to php.ini.
Rename c:\php\php.ini-development to php.ini
Now let’s edit php.ini
Uncomment extension directory.
; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext"

Uncomment mysql modules
extension=php_mysql.dll
extension=php_mysqli.dll
Save the changes and open a command prompt. Restart Apache to re-read the changes made to PHP.
So now we have Apache running and configured to use php. Lets create a file called info.php, save it and see if Apache parses the info correctly to display the results.
Open Notepad or your favorite Windows editor and type and save the following.
 <?php
phpinfo();
?>
Open your browser and type, localhost/info.php for the location and you should receive alot of information about PHP.
MySQL
Download and install mysql-5.6.19-win64.msi. Change installation directory to C:\MySQL\MySQL Server 5.6 instead of Program files as there could be permissions issues. Once the installation is completed you can let the configuration wizard run and setup the database server. The defaults will work just fine, but remember what you set the password to for root.
PHPMyAdmin
PHPMyAdmin is a very nice tool to use for administering your MySQL installation.
Download and install phpmyadmin-3.4.10.1-english.zip.
Extract the file and move to c:\apache24\htdocs. Rename directory to phpmyadmin.
Create a config directory under phpmyadmin. Open a browser and type localhost/phpmyadmin/setup/index.php to complete the installation.




Monday, September 1, 2014

Install PHPMailer on Windows Server

PHPMailer is simple enough to use but in windows server you may face problem.because it is not same as we do.Check the following steps

1.  Make a new folder 'includes' in  your PHP installation folder.
    Example  (c:\php\includes)

2. You just need to upload PHPMailer class folder  inside the 'includes' folder.
     Example C:\php\includes\PHPMailer

3. Add this include path in your php.ini . commencement sendmail_path and use the path
   Example  sendmail_path ="C:\php\includes\PHPMailer\HPMailerAutoload.php"

So in php.ini file it will look like

[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost
; http://php.net/smtp-port
;smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
;sendmail_from = me@example.com

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path ="C:\php-5.5.14\include\PHPMailer\HPMailerAutoload.php"

4. Also keep PHPMailer class folder  in your root directory. use the class
   Example
               require 'class/PHPMailer/PHPMailerAutoload.php';

$from       = "test@test.com";
$mail       = new PHPMailer();
$mail->IsSMTP(true);            // use SMTP
$mail->IsHTML(true);
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->Host       = "smtp.gmail.com"; // SMTP host here use gmail
$mail->Port       =  465;                    // set the SMTP port
$mail->Username   = "test@gmail.com";  // SMTP  username
$mail->Password   = 'ur gmail pass';  // SMTP password
$mail->SMTPSecure = 'ssl';
$mail->SetFrom($from, 'Support Test');
$mail->AddReplyTo($from,'Support Test');
$mail->Subject    = $subject;
$mail->MsgHTML($body);
$mail->AddAddress($to, $to_name);
if($mail->Send())
{
                     echo "mail sent!!";
                 }
                else  echo "mail not sent!!";

Total Pageviews