|     |    
	
		
			
			
				
					
						|   
							 
								PHP 4.2.0 in Apache 2.0 for Linux/Unix   | 
							    |      |      |                      |           Submitted on: 5/7/2002 8:53:08 PM 
						By: $t0rm  
						 
						Level: Intermediate User Rating: Unrated   Compatibility:PHP 4.0
  Users have accessed this article 2813 times.   |  (About the author) |  
  |          |   |                 As many of you have unhappily figured out, Apache 2.0 broke the PHP DSO module, even the latest version. This article describes a hack I use to run PHP on the latest and greatest Apache.         |    |  |   |              Terms of Agreement:    
	 By using this article, you agree to the following terms...    
	 1) You may use 
	 this article in your own programs (and may compile it into a program and distribute it in compiled format for langauges that allow it) freely and with no charge.    
	 2) You MAY NOT redistribute this article (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.    
	 3) You may link to this article from another website, but ONLY if it is not wrapped in a frame.  
	 4) You will abide by any additional copyright restrictions which the author may have placed in the article or article's description.   |      Here's my disclaimer: THIS IS NOT THE BEST WAY TO DO THIS! When the next PHP release comes out, switch to it. For now, use this system. The old way generally involved dynamically linking libphp4.so as a module into Apache. Unfortunately, Apache 2.0 changed how modules interface with the server, so they are broken. I decided to adopt the IIS (ewww!) way, which is running the php interpreter program. I added a few lines to my httpd.conf file: 
    
    ScriptAlias /php/ "/php-install-dir/" 
    Action application/x-httpd-php "/php/php" 
    AddType application/x-httpd-php .php
    
     
    On my machine, php-install-dir is /php/php-4.2.0/, this is the directory where the php interpreter executable is (please note: the user running the Apache daemon must have access to this directory. I checked the Apache directory with ps aux). To enable the changes, execute the following commands: 
    
    /apache-install-dir/bin/apachectl stop
    /apache-install-dir/bin/apachectl start
    
     
    If start fails the first time, wait a few seconds and restart. Magically, all of your .php files are fixed!!!
    Happy coding!  |    |  |   |  | Report Bad Submission |     |   |   |  | Your Vote! |  | 
See Voting Log  |  |   |  | Other User Comments |  5/8/2002 12:59:32 AM:Ivan Z This is not a hack, it is the CGI 
method which is no way recommended on 
production server or even a test one 
due to many flaws.  The Apache 2 module 
for win32 is already out.  Apache 2.0 
should not be used for production 
servers since the first release was 
quite recent, I would wait at least a 
few months before switching to it.  
  |  5/10/2002 8:36:18 PM:$t0rm It's for Linux, and the latest is 
always the greatest, if it's a final.  
  |  6/17/2002 1:13:10 PM:  $t0rm, if the latest and greatest 
version is always a final, then why do 
you call the beta the lastest and 
greatest. And that is not always true. 
WinME is definatly worse than 98se.  
  |   |      |   Add Your Feedback! |        Note:Not only will your feedback be posted, but an email will be sent to the code's author in your name.
  NOTICE: The author of this article has been kind enough to share it with you.  If you have a criticism, please state it politely or it will be deleted.
  For feedback not related to this particular article, please click here.     |       |           |