如何在CGI模式下运行时覆盖PHP配置

Fit*_*h M 6 php windows apache configuration cgi

有一些教程告诉我如何在CGI模式下运行时覆盖PHP配置.但我仍然感到困惑,因为很多人都认为服务器是在Linux上运行的.虽然我需要做的也是在Windows上.

我的托管确实使用Linux,但我的本地开发计算机使用的是Windows XP和Xampp 1.7.3.所以我需要首先在我的本地计算机上执行此操作,然后我想更改托管服务器上的配置.

我的托管服务器中的PHP已经作为CGI运行,而在我的本地计算机中仍然作为Apache模块运行.

在这一点上,我理解的过程是:

  1. 将PHP更改为在CGI模式下工作.我通过在"httpd-xampp.conf"中评论这两行来做到这一点:

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

  2. 我的PHP现在作为CGI运行.我用phpinfo()检查过这个.它告诉我,Server API现在是CGI/FastCGI.现在我想覆盖php配置.

  3. 在DocumentRoot中创建"cgi-bin"目录.我的DocumentRoot位于"D:\ www \"(我正在使用带虚拟主机的apache).所以它现在是"D:\ www\cgi-bin".

  4. 将默认的"cgi-bin"目录设置从"C:/ xampp/cgi-bin /"更改为"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>
    
    Run Code Online (Sandbox Code Playgroud)
  5. 将'php.ini'文件复制到"D:\ www\cgi-bin"并将upload_max_filesize设置从128M修改为10M.

  6. 在"D:\ www\cgi-bin"中创建"php.cgi"文件并将这些代码放在文件中:

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

而已.我陷入了困境.所有教程告诉我创建'php.cgi'文件并将shell代码放在文件中.

如何在Windows上执行第6步?我知道下一步是在.htaccess文件中创建处理程序来加载'php.cgi'.

而且,因为我还需要在我的托管服务器(Linux)上更改PHP配置,这是上面的第6步吗?一些教程告诉我们插入这些行而不是上面的行:

#!/bin/sh
export PHPRC=/site/ini/1
exec /cgi-bin/php5.cgi
Run Code Online (Sandbox Code Playgroud)

如果我的问题不清楚,我很抱歉.我是新成员,这是我在本网站的第一个问题.

谢谢.

小智 1

如果您的服务器已经将 PHP 作为 cgi 运行,并且您不需要运行多个 PHP 配置,则不需要步骤 5 和 6。只需更改默认的 php.ini