【问题标题】:php script causing 500 Internal Server Errorphp脚本导致500内部服务器错误
【发布时间】:2015-04-09 07:44:27
【问题描述】:

我正在测试一个简单的 php 脚本,但遇到了一些问题。 我的php如下:

#!/usr/local/bin/php

<html><head><title>PHP Test</title></head>
<body>
<?php print( "Hello World<br />"); ?>
</body></html>

在同一个文件夹中,我有一个 htaccess 文件

AddHandler cgi-script .php

另外,我运行这些命令以确保权限正确。

chmod 711 hello.php
chmod 644 htaccess

但是,当我尝试访问该页面时,我收到了“500 内部服务器错误”。我对php完全陌生。有谁能帮帮我吗?

【问题讨论】:

  • 它的 .htaccess 文件导致了问题...
  • 我认为这与错误无关,但您不应该在网页的开头使用#!/usr/local/bin/php。这只应在从 CLI 运行的脚本中使用。关于实际问题,请检查您的 PHP 错误日志文件。
  • 我试过了,但没有用。
  • 我将“htaccess”文件的名称更改为“.htaccess”。在相应的命令中也进行了更改。
  • 如何查看错误日志文件? @Barmar

标签: php networking internal-server-error


【解决方案1】:

PHP 文件的运行方式与 CGI 脚本不同。 CGI 脚本是可执行文件,需要能够自行从命令行运行。 PHP 文件需要通过解释器运行,并且通常不能使用文件顶部的#! pragma 来调用 Perl 或 Ruby 或 Python(等)脚本等解释器。

我经常看到以下内容:

AddHandler php5-script .php

告诉 Apache 通过 PHP 解释器运行 PHP 文件。

【讨论】:

  • 首先,应该是 .htaccess 而不是 htaccess 吗?
  • 是的,它需要是.htaccess,而不是htaccess。
  • 我试过你说的,现在它变成了“禁止”。 @Ava 贾维斯
  • 进步!我应该注意到你的 chmod 到 711 应该是 755。
  • 现在结果只显示代码本身,但我希望只看到 helloworld。仅供参考,我指的是这个网站cise.ufl.edu/help/web/php@Ava Jarvis
猜你喜欢
  • 1970-01-01
  • 2014-04-10
  • 1970-01-01
  • 2023-03-22
  • 2013-08-11
  • 2012-03-29
  • 2014-04-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多