有一些教程告诉我如何在CGI模式下运行时覆盖PHP配置。但我仍然感到困惑,因为很多人都认为服务器是在Linux上运行的。虽然我需要在Windows上执行也。
我的托管确实在使用Linux,但我的本地开发计算机正在使用带有Xampp 1.7.3的Windows XP。所以我需要首先在我的本地计算机上执行此操作,然后我想更改托管服务器上的配置。
我的托管服务器中的PHP已作为CGI运行,而在我的本地计算机中仍以Apache模块运行。
此时,我理解的流程是:
将PHP更改为在CGI模式下工作。我通过在“httpd-xampp.conf”中评论这两行来做到这一点:
# LoadFile "C:/xampp/php/php5ts.dll"
# LoadModule php5_module modules/php5apache2_2.dll
我的PHP现在以CGI身份运行。我用phpinfo()检查过这个。它告诉我,Server API现在是CGI / FastCGI。现在我想覆盖php配置。
在DocumentRoot中创建“cgi-bin”目录。我的DocumentRoot位于“D:\ www \”(我正在使用带虚拟主机的apache)。所以它现在是“D:\ www \ cgi-bin”。
将默认的“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>
将'php.ini'文件复制到“D:\ www \ cgi-bin”并将upload_max_filesize设置从128M修改为10M。
在“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
如果我的问题不明确,我很抱歉。我是新成员,这是我在本网站的第一个问题。
谢谢。
答案 0 :(得分:1)
如果您的服务器已经将PHP作为cgi运行,并且您不需要运行多个PHP配置,则不需要步骤5和6。只需更改默认的php.ini
即可