Help - Search - Members - Calendar
Full Version: Howto: Install PHP on Windows 2003 Web Edition
The Planet Forums > Operating Systems > Microsoft Windows > Windows HOWTOs
Pages: 1, 2
Shannara
Pretty much the same here, but only 5 times. Can't use the installer because it is broken for Win2k3 WE. This OS doesnt have a "required activex component" needed for the installer to complete the install. Some weird error. *shrugs* So I install manually.. still though, end up usually back at where I am now icon_smile.gif Runs perfectly locally. May end up finding a non-php forum and let everybody in my community know that php may be uninstalled due to this.
Vinnie Pasetta
I would be interested in looking at it. I have several forums working fine on my Celeron box. Send me an e-mail at AlertServ[at]insightbb.com to set something up.
Shannara
Ok, just on a side note, looks like those guys at php.net have fixed the installer for 4.3.3, it now works on Win2k3 WE icon_smile.gif Unfortunately php still doesnt run properly. Oh well. I'll email Vinnie.
LighthousePoint
I ran the installer on one of my test boxes... Went smooth.
Paz
Shanara, would you mind sending me your new php.ini file? (I assume you changed it since you last placed it online...)
tmat
but does anyone know if window XP pro verwsion of IIS comes with "server extention tab"? I am developing a site locally and wants to test it locally, which means I need to install PHP on my xp pro home computer (not a server).

Thanks
LighthousePoint
Windows XP uses a modified version of IIS5. Web extenstions are new to IIS6, and do not exist in Windows 2000 or XP.
kelani
Question: Is there any real reason to copy the DLL to c:windowssystem32php4isapi.dll or can you just map to C:PHPphp4isapi.dll ? It makes more sense to me to leave the install files where they originally went, and adjust permissions there, as opposed to modifying the system32 directory.
LighthousePoint
hypothetically, you could do that.

It wouldn't hurt to try it. If it doesn't work, then put it in the sys32 dir... But it should work.
kelani
It does work- perfectly. I Was just curious if there was some obscure performance or security issue with that.
aussie
The reason why they want you to put it in the system32 dir is so that its available to the whole system.
kelani
As in if you had multiple users that need to run it from the command line, or some other access?
LighthousePoint
in windows, system32 is the standard location for DLL files...

And no, multiple users wouldn't use the DLL file. the DLL is for ISAPI applications -- which is mostly limited to IIS. If you want to do command-line processing, you'll use the CGI .exe version.
kelani
That's what I meant icon_smile.gif I like applications that keep resource & DLL files in the program directory. More often than not, they don't require a complete reinstall if something happens to your registry.
TL408
QUOTE
Originally posted by jgeyer
well finally got mine working.  I had to add:
--> c:windowssystem32php4ts.dll
in the web service extension under php.  As soon as I did that, it started working properly.
I had the same problem as yours. Followed your instructions above and it works like a charm now. YOU ARE MY HERO!!!! icon_biggrin.gif

Sunmoon: I think you should add that step to your original instructions in the first post of this thread. icon_wink.gif

Cheers!!!!
rubensans
QUOTE
Originally posted by aussie
Well i looked at your php.ini and the path to the extensions directory is wrong. Your path should be something like ".;c:phpextenions" not c:/php/extensions.



It's necesary the; o "c:PHPextensions" would work?
LighthousePoint
the semicolon is used to seperate paths. And the period denotes the pwd (present working-directory). So you should leave the .; in there. Also, forward slashes should be okay.
knowntobe
never setup php before and so just want to question something.
In the php.ini file for the extensions path do I put :
".;c:/php/extensions/"
or
.;c:/php/extensions/
or
none of the above its something different?

Thanks for any help (been a great help so far icon_biggrin.gif )
rubensans
For me the best has been, to put:

"C:windowssystem32" and there all the extensions.

I think you have to use back .


Best Regards,

Ruben.
LighthousePoint
The PHP manual says you have to use / slashes, but I've seen it work both ways.
gooberdlx
I believe that any interaction with the windows file system (NTFS or FAT), you can use either / or and it will still work the same way...

Jake
AMoo-Miki
i have done everything i could do, and yet:

i get 401 error (after auth dialog)

i have put both php4isapi and php4dts in the web serv ext for PHP and allowed them. ( this solved 404 error )

all permisions are read & execute.

any solutions to sort this problem out?
gooberdlx
All permissions are read and execute for what users?

Also... check out your IIS6 permissions too.. NTFS permissions and IIS6 permissions are two separate (unfortunate) beasts...

Jake
LighthousePoint
Yes, and double check the you have correctly created the web-service extension. I've logged onto a lot of boxes where php wasn't working, and that was the problem.
AMoo-Miki
i did "read&exec" for Everyone, to all the dlls and exes that came with php and were copied to system32 too. + php.ini

i put each and every dll and php.exe in the web ext srvc, with Allow

the iis6 perms are script& executables.
but yet no luck
still the same old 401

PS: this might help, turning it to the cgi form, i get the cgi error ( no http headers)

id be thankfull for any tips
AMoo-Miki
PROBLEM SOLVED:

the problem was i think with ensim creating the sites by some default.

what u have to do is for every site created, go to
Properties -> Directory Security

click the top most EDIT button.
remember exactly whats written in the UserName box
it is WEB_XXXX where XXXX is the username for that domain.
hit browse and type Everyone there and hit OK, u would be taken back to the previouse dialog, again hit Browse and enter the WEB_XXXXX that u had remembered, and hit OK, Apply, OK

if u like retsrat the iis forthe domain.

it worked for me TO SOLVE THE 401 ERROR and the authorization box apearing.

Why this is the solution? -i have no idea.

Bets of Luck

and thanks to all who tried to give out a helping hand
AMoo-Miki
having set php up on different webservers multiple times, i have never got such problems that IIS6 and win 2k3 are ggiving me.

the php's mail() function doesnt work saying the "sendmail_from" is missing in php.ini and "From:" header missing. this is though spesifically sendmail_from is set in php.ini and the from header is also iplemented in the php sceript.

to be able to pass this error, i am using
[PHP]ini_alter("sendmail_from",$frommail);[/PHP]

but this is not an actual solution.

does anyone have a practicale solution for this?


thanking you
Miki
MX-3.com
Well, after reading and reading and reading about everyones problems, I decided to go ahead and install PHP on my server.

I thought for sure I was in for a looonnnggg night!!

For starters my server is an EV1 Server, a Celeron 1.7 running Windows Server 2003 Web Edition to be more precise. (with IIS 6.0)

(These instructions are for installing the ISAPI version manually on a windows based system.)

I first downloaded the php-4.3.4-Win32.zip file from http://www.php.net and extracted it to the c:PHP folder on my server.

Next I followed the instructions as Sunmoon had posted (shown below), with 3 exceptions, shown in RED.

I have added in Step 4A), modified Step 5) and added Step 16) to clarify the instructions and help people out.

In my install everything seems to have gone smoothly and the phpinfo.php file displays as it should. (See Step 16 below for more information on the phpinfo.php file.)

QUOTE
Originally posted by Sunmoon
1) Download latest version of PHP from www.php.net
2) Unzip contents to c:php
3) Copy all files from c:phpdlls to c:windowssystem32
4) Copy all files from c:phpsapi to c:windowssystem32

4A) Copy php4ts.dll (located in the c:PHP directory) to your c:windowssystem32 directory
5)Rename and Copy c:phpphp.ini-recommended to c:windowsphp.ini


6) Open IIS, and add a "Web Service Extension"
7) Call the extension "PHP"
icon_cool.gif set the path as c:windowssystem32php4isapi.dll
9) set the status to "allow"
10) Right click the "Web Sites" folder, and select properties
11) On the "Home Directory" tab, select "Configuration"
12) Click "Add", then browse to c:windowssystem32php4isapi.dll, set the extension as .php, and deselect "Verify that the file exists".
13) Click Okay
14) Apply the setting to all sites.
15) Restart IIS

16) Cut and Paste the below PHP code into a file called [b]phpinfo.php
and copy that file to your website root directory, open the file in your browser (ie. http://localhost/phpinfo.php ) and you should see a page load similar to the one that is shown here in this link from iis-resource.com:
http://www.iis-resources.com/modules/news/....php?storyid=96

[PHP]// Show all information, defaults to INFO_ALL
phpinfo();
?>[/PHP]
Congratulations, you now have a working PHP installation. [/B]

I hope the above edits help clarify the installation for anyone trying to install PHP on their server!! cool.gif
aussie
Howabout the permissions? Nobody ever talks about that in any howto, its something thats always missed.
MX-3.com
Maybe I am doing something wrong but I don't think so, because I can see the phpinfo.php page with no problems from my web browser at an external source using my servers IP.

No authentication boxes popping up, and no error pages loading.

If my server permissions are set up TOO unsecure, I would like to know, but using the default permissions that came when the server was given to me, everything seems to be working fine so far....

Is there a general Security checklist/How-To out there for making sure that a server is secure?
Paz
QUOTE
Originally posted by aussie
Howabout the permissions? Nobody ever talks about that in any howto, its something thats always missed.


the problem is that user rights will vary because of different needs and because of what (if any) management software you're running (Helm for example)

I'll try to write an RFC for a plain windows installation somewhere this week so other can comment on it... (oh time, where art ' thou!)
MX-3.com
I here thee about thy time!!

I guess the reason my setup didn;t require much permissions fiddling is because I am using Web Edition without any special Control Panels. (Helm, Enmsim, etc.)

Basic Windows permissions work fine.
nixxor
PHP 4 and IIS 6.0 (Windows Server 2003)

Had difficulty getting PHP 4.3.3 to work with Win2003 Ent Server for use with SquirrelMail. Problem found and believed solved. Appears to be something New with IIS 6.0 (More security by Micro$oft) Was getting 404 error and php was not being run as a cgi even though it was in extensions and IIS user had rights to execute it. (php from command line operated correctly)

If you are installing on Windows Server 2003 (only have Enterprise Edition – Not sure if this applies to standard edition), and you have done the normal procedures for inclusion of PHP scripts (either ISAPI or CGI) in IIS, you will still get a 404 error when attempting to execute those scripts even though IIS has rights and the extension points to the correct file. To alleviate this problem, perform the following:

1. Open a command prompt window
2. Change to C:windowssystem32
3. Execute the command: cscript iisext.vbs /AddFile c:phpphp.exe 1 php 0 php
4. Execute the command: cscript iisext.vbs /EnFile c:phpphp.exe
5. To check for correct execution of the above,
6. Execute the command: cscript IisExt.vbs /ListFile – the php extension should be listed

If you try just step 4 without step 3 you get an error that the file is not in the list (and won’t be there till you do step 3 above)

After this, IIS seems to like the php extension and work normally.

For additional reference, see the below 3 Micro$oft KB Articles:
HOWTO: Enable and Disable ISAPI Extensions and CGI Applications in IIS 6.0 (MS KB Article 328360)

HOWTO List Web Server Extensions and Extension Files in IIS 6.0 (MS KB Article 328505)

HOWTO Add and Remove Web Service Extension Files in IIS 6.0 (MS KB Article 328419)
bchawla
1) I am using the installer (CGI version?) and I keep getting "No Input file specified." error whenever I try and load a PHP file. I;ve tried the installer 5-7 times now
2) I've tried using filters and I dont get any errors, but now the page just loads and is blank

I Checked the persmisisions, but am not sure whether I did it the right way. can someone write a quick how to?

Anyidea why PHP wontwork?
rubaljain
QUOTE
Originally posted by bchawla
1) I am using the installer (CGI version?) and I keep getting "No Input file specified." error whenever I try and load a PHP file.  I;ve tried the installer 5-7 times now
2) I've tried using filters and I dont get any errors, but now the page just loads and is blank

I Checked the persmisisions, but am not sure whether I did it the right way.  can someone write a quick how to?

Anyidea why PHP wontwork?


Did you tried installing new PHP 4.3.7 CGI.

Regards,

Rubal Jain
wll6568
I had cgi version before but I couldnt have my c:domains running php but only c:inetpubwwwroot, so I decided to remove all php related dll from windows/system32 and also php.ini from windows.

I followed the instructions on this thread to install a isapi version, and now my server just return http 500 error for any php site. I am not sure what have I done wrong. icon_sad.gif It cant even run phpinfo() page.
phil5673
Please somebody, if you could do me a favor and tell me what I am doing wrong, I would love you to death. I have a site of screen shots of tasks that I have completed:

System:
Pentium 4, 2.0Ghz
516mb RAM
60Gb Hard Drive

Windows 2003 Web Edition SP1, using Helm Control Panel
IIS6.0 attempting to install PHP 5.0.4

Screen Shots of completed tasks for someone who is willing to help.

Extension Mapping, .php -> c:phpphp5isapi.dll
http://www.philharmon.net/iispix/extensionmapping.jpg

IIS Manager, Anything you see wrong?
http://www.philharmon.net/iispix/iismanager.jpg

This shows that I have all the PHP files needed.
http://www.philharmon.net/iispix/phpdir.jpg

Here is the PHP extension.
http://www.philharmon.net/iispix/phpextension.jpg

I put BOTH "C:php" and "C:phpext" in the Path variable.
http://www.philharmon.net/iispix/systempath.jpg

Is anything wrong here, have I given too many rights?
http://www.philharmon.net/iispix/websiteproperties.jpg

Here are the access rights for the "c:domains" and "c:php" directories.
http://www.philharmon.net/iispix/accessrights.jpg
phil5673
No one knows?? I have the mystery error of all times!
phil5673
The way I fixed it...

"Dumped PHP 5.0" -> Had to downgrade to PHP 4.3.
-- In addition to that --
I had to dump MySQL 4.1 to 4.0.

Ugh, I hate downgrading, but ... I guess sometimes you gotta do it.
CornFused
QUOTE (phil5673)
The way I fixed it...

"Dumped PHP 5.0" -> Had to downgrade to PHP 4.3.
-- In addition to that --
I had to dump MySQL 4.1 to 4.0.

Ugh, I hate downgrading, but ... I guess sometimes you gotta do it.


I think you should stick with PHP4 for now, I have NEVER gotten PHP5 to work on Windows. MySql 4.1 which works with PHP4 just fine under Helm. I think you will find that there are some difficult issues upgradding from MySql 4.0 to a 4.1........so build your server on 4.1 icon_smile.gif
NetHog
QUOTE (CornFused)
I think you should stick with PHP4 for now, I have NEVER gotten PHP5 to work on Windows. MySql 4.1 which works with PHP4 just fine under Helm. I think you will find that there are some difficult issues upgradding from MySql 4.0 to a 4.1........so build your server on 4.1 icon_smile.gif

I've just upgraded to PHP 5.0.5; MySql 4.1.14; and vBulletin 3.5.0 RC3 will few problems.

A key thing to remember for PHP is to add permissions/paths.
Here's my steps for PHP4, PHP5 is very similar: http://forum.ev1servers.net/showpost.php?p...71&postcount=10

Key thing is you have to allow IIS 6.0 to use the DLL. I did this as follows:

(from WindowsSystem32 directory)

cscript iisext.vbs /AddFile C:PHPsapiphp4isapi.dll 1 php 0 php
cscript iisext.vbs /EnFile C:PHPsapiphp4isapi.dll
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2010 Invision Power Services, Inc.