# PHP in Apache server

Hi,
I want to configure PHP with Apache server, on Windows 2008 server. Is there a demonstration with details to this?
LVL 11
###### Who is Participating?

Commented:
The PHP file needs to be in the ServerRoot
OR
You can setup an alias to another folder

For example - if you want to setup a project
http://localhostname/myproject/index.php
Then in your httpd.conf you create an alias entry like so
<IfModule alias_module>
...
Alias /myproject "C:/projects/myproject"
...
<Directory "C:/projects">
AllowOverride All
Require all granted
</Directory>
...
</ifModule>

0

Commented:
It's all explained nicely here: http://php.net/manual/en/install.windows.legacy.index.php#install.windows.legacy.apache2
Don't skip the note on that page (which has another link there, not here):
Note:
You should read the manual installation steps first!
0

Commented:
This describes installation of PHP 5.6.24 on Apache 2.4 (Windows Thread safe version)

This is the process I followed

1. Install PHP (thread safe) version - this will extract to a folder

Add the following reference to the php5apache2_4.dll
LoadModule php5_module "C:\Program Files (x86)\PHP 5.6.24\php5apache2_4.dll"

This goes after the last LoadModule line in the conf file. Modify path to match your environment

3. Modify the default file values - add index.php (on or around line 280 - might vary depending on your installation)

<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>


4. Add php handler and set path to PHP ini file
<IfModule php5_module>
PHPIniDir "C:\Program Files (x86)\PHP 5.6.24"
</IfModule>

Change the path to your PHP INI file
I added this at the bottom after the following
<IfModule mime_module>
...
</ifModule>


Save and restart the httpd service.

0

Commented:
Depending on your exact needs, you may find that a virtual machine can save you a lot of time.  I've had good experiences with the prepackaged Bitnami stacks.
https://bitnami.com/stacks
0

Problem resolverAuthor Commented:
Many thanks all.
Julian,

What should I put, right after

<IfModule mime_module>
...
</ifModule>


And I've created relevant Inbound rule on port 8080, but I've got

C:\setup\Apache httpd-2.4.23-x86-vc14\Apache24\bin>httpd
is normally permitted.  : AH00072: make_sock: could not bind to address [::]:808
0
is normally permitted.  : AH00072: make_sock: could not bind to address 0.0.0.0:
8080
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

0

Commented:
What should I put, right after
This - I was trying to say I put the following code directly after the <IfModule mime_module>...</ifModule>
<IfModule php5_module>
PHPIniDir "C:\Program Files (x86)\PHP 5.6.24"
</IfModule>


The error is telling you you have another service listening on 8080 - try a different port for Apache.

It sounds like the server you are setting this up on already has a web server running on it - IIS most likely. What is the reason for installing Apache as well?
0

Problem resolverAuthor Commented:
I choose port 8081 and get
C:\setup\Apache httpd-2.4.23-x86-vc14\Apache24\bin>httpd
is normally permitted.  : AH00072: make_sock: could not bind to address [::]:443

is normally permitted.  : AH00072: make_sock: could not bind to address 0.0.0.0:
443
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs

Yes, IIS is running on this server
0

Commented:
443 is the SSL port - this means that something (probably IIS) is using that port as well.

You should still be able to browse to

http://yourservername:8081

As Apache appears to be successfully listening on that port.

Again I ask why you need Apache on the same server as one running IIS?
0

Problem resolverAuthor Commented:
To your last question, I do 're-use' the same server, for further deploying PHP pages by Apache. What to adjust, due to current 443 port conflict?
0

Commented:
Why not load PHP on IIS - why set them both up on the server when it is just going to result in conflict.

What to adjust, due to current 443 port conflict?
This is not the right question - you can either ignore the error - if you are not going to use SSL - if you are and you are also using SSL on the IIS server then you don't have a solution - hence my original question about why you want to run two HTTP servers on a single box.

Why can you not use IIS to do what you want to?
0

Problem resolverAuthor Commented:
I now use one Win 2012 server instead, which is not running any Web server. I get no response to this

C:\setup\Apache httpd-2.4.23-x86-vc14\Apache24\bin>httpd

why?
0

Commented:
Are we starting from the begining now?

I have no idea why you are getting no response on Win2012 - you have not provided enough information to say what you have done.

But if that does not go anywhere I am certain that there are other similar resources online that can take you through the process.

Maybe follow that and post back any specific issues you come across - the more information you provide the more we will be able to assist.

Given the parameters of the question have changed somewhat - you might want to consider closing this question off (if you don't succeed with the above) and opening another to get access to more experts. This thread has become TLDR which means your new issue will not be seen by anyone new to this thread.
0

Problem resolverAuthor Commented:
Yes, I'm re-doing the same within Win 2012.

I've un-zipped these
Apache httpd-2.4.23-x86-vc14
php-5.6.24-Win32-VC11-x86

into c:\setup and then run

cd C:\setup\Apache httpd-2.4.23-x86-vc14\Apache24\bin
httpd

and have got no response.
0

Commented:
Is there anything in the logs?

0

Commented:
When you say there is nothing - do you mean
a) The command prompt returns immediately with nothing displayed on the screen

OR

b) The command prompt does NOT return and there is nothing on the screen.

If there are no errors then Apache will start and you won't see anything displayed on the screen. See screenshot below
httpd is running - no output but the prompt has not returned - this is because httpd is successfully running in the foreground.

After running httpd - can you browse to the server from the server - on the SAME port you have configured in your httpd.conf
0

Problem resolverAuthor Commented:
Within Windows, how to ensure relevant folder is pathed, and files can be picked up by server, when I call the relevant PHP file like

http://localhostname/PHPfile
0

Problem resolverAuthor Commented:
Many thanks.
I've created the relevant alias for the folder inside which the .php file resides. But I cannot go to

http://win-q1a2sh6377h:8080/proj0/info5.php

while win-q1a2sh6377h is the server name. Here is what I've got
0

Commented:
Need to see your httpd.conf file.
0

Problem resolverAuthor Commented:
Hi Julian,
I sent you the file already.
0

Commented:
I took your httpd.conf - changed the servername and paths and it works fine here so the configuration is correct.

What happens when you browse to

http://localhost:8080/proj0

Can you create the following file
pi.php
<?php
phpinfo();

And save this to
c:\setup\proj0\pi.php

And then attempt to go to
http://localhost:8080/proj0/pi.php

What do you see.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.