2012-04-21 47 views
1

我最近从“www.domain.com”购买域名和托管。我的主机是“Linux主机”。我用PHP编写了一个网站。当我在寻找托管功能时,有PHP5支持。之后,在网站配置中,我注意到PHP5支持仅适用于cgi应用程序。到目前为止,我不知道CGI是什么。我研究了一下。我注意到有一个名为cgi-bin的目录。我把我的PHP文件,但给内部服务器错误。 但是在cgi-bin目录中,.cgi扩展名可以工作。当我从Internet上查看时,我明白必须在.htaccess或httpd.conf中添加一些处理程序。我没有被授权访问这些文件,但我可以在我的主机中添加一些来自“网站配置”的处理程序。为什么我的.php扩展文件无法在cgi-bin文件夹(linux服务器)中作为CGI工作?

我知道我做错了什么,但我不知道它是什么。谢谢...

+1

如果您有权访问服务器的日志,请检查错误日志。它会解释导致500错误的原因。 – 2012-04-21 15:00:31

+0

联系您的托管公司的支持团队将是您最好的选择,但我猜测您不必将文件放入cgi-bin目录。该目录是从相当过时的服务器配置形式中保留下来的。您的PHP文件应该可以从您的网络文件应该存储在的普通目录中执行(最有可能被命名为“public_html”)。 – 2012-04-21 15:01:58

+0

您好,奥尔布赖特,你说没有必要把PHP文件放入cgi-bin文件夹。在httpdocs目录中,所有文件都可以工作,但只有php4文件。没有php5的支持。例如,我的类文件不能在该目录中工作,因为类在php5之后可用。 – kalaba2003 2012-04-21 15:20:30

回答

1

CGI意味着PHP配置为从Web服务器(通常为apache)作为单独的进程运行,而不是Web服务器的模块。

您应该能够简单地将php文件放在您的web根目录(通常位于/ var/www)中,在浏览器中导航到该文件,并且它应该都可以工作。

此外,请务必检查一下Apache日志,在/ var /日志/

+0

是的,但它只能运行php4文件。不是php5文件...在我的error_log中,有以下错误:未能打开日志文件 fopen:权限被拒绝 脚本标题的过早结束:test.php – kalaba2003 2012-04-21 15:24:04

+0

你可以验证你的php的版本,让我知道吗? http://php.net/phpversion – iBiryukov 2012-04-21 17:55:25

+0

在httpdocs文件夹中,我的PHP版本是PHP 4.4.9 ...但是当我尝试访问我的类(类作品为php5)时,它不起作用。我的服务器的PHP5支持就像cgi应用程序一样。我怎样才能让我的文件像cgi一样工作? – kalaba2003 2012-04-22 06:49:39

0

搜索托管documation。我敢打赌,您需要在脚本的第一行添加#!/path/to/php

相关问题