How to override PHP configuration when running in CGI mode

Posted by Fitrah M on Stack Overflow See other posts from Stack Overflow or by Fitrah M
Published on 2011-01-03T00:45:31Z Indexed on 2011/01/03 0:53 UTC
Read the original article Hit count: 581

Filed under:
|
|
|
|

There are some tutorials out there telling me how to override PHP configuration when it is running in CGI mode. But I'm still confused because lots of them assume that the server is running on Linux. While I need to do that also in Windows.

My hosting is indeed using Linux but my local development computer is using Windows XP with Xampp 1.7.3. So I need to do that in my local computer first, then I want to change the configuration on hosting server.

The PHP in my hosting server is already run as CGI while in my local computer still run as Apache module.

At this point, the processes that I understand are:

  1. Change PHP to work in CGI mode. I did this by commenting these two line in "httpd-xampp.conf":

    # LoadFile "C:/xampp/php/php5ts.dll"
    # LoadModule php5_module modules/php5apache2_2.dll

  2. Create "cgi-bin" directory in DocumentRoot. My DocumentRoot is in "D:\www\" (I'm using apache with virtual host). So it is now "D:\www\cgi-bin".

  3. Change the default "cgi-bin" directory settings from "C:/xampp/cgi-bin/" to "D:\www\cgi-bin":

    ScriptAlias /cgi-bin/ "D:/www/cgi-bin/"

    <Directory "D:\www\cgi-bin">
       Options MultiViews Indexes SymLinksIfOwnerMatch Includes ExecCGI
       AllowOverride All
       Allow from All
    </Directory>
    
  4. At this point, my PHP is now running as CGI. I checked this with phpinfo(). It tells me that Server API is now CGI/FastCGI.

  5. Now I want to override php configuration. I copied 'php.ini' file to "D:\www\cgi-bin" and modify upload_max_filesize setting from 128M to 10M.

  6. Create 'php.cgi' file in "D:\www\cgi-bin" and put these code inside the file:

    #!/bin/sh
    /usr/local/cpanel/cgi-sys/php5 -c /home/user/public_html/cgi-bin/

That's it. I'm stuck at this point. All of tutorials tell me to create 'php.cgi' file and put shell code inside the file.

How to do the 6th step on Windows? I know the next step is to create handler in .htaccess file to load that 'php.cgi'.

And also, because I will also need to change PHP configuration on my hosting server (Linux), is the 6th step above right? Some tutorial tells to insert these line instead of above:

#!/bin/sh
export PHPRC=/site/ini/1
exec /cgi-bin/php5.cgi

I'm sorry if my question is not clear. I'm a new member and this is my first question in this site.

Thank you.

© Stack Overflow or respective owner

Related posts about php

Related posts about Windows