【问题标题】:500 internal sever error While referring a file in PHP?在 PHP 中引用文件时出现 500 内部服务器错误?
【发布时间】:2013-05-17 13:00:22
【问题描述】:

我在通过 PHP 引用文件时遇到问题 500 内部服务器错误

这是我的代码

<?php
require_once(dirname(__FILE__).'/html2pdf.class.php');
?>

在这里,我将类文件放在同一个文件夹中......

【问题讨论】:

  • 日志中出现什么错误信息?
  • 服务器日志中没有任何内容,但在浏览器中显示 500 internal server error ....................
  • 检查您是否启用了错误日志记录。每个 500 错误都应在日志中生成一行。没有例外。
  • 尝试打开错误报告,以便查看错误是什么。
  • 当你删除/评论这个字符串时有什么变化吗?该文件的内容是什么?

标签: php error-handling filepath


【解决方案1】:

检查给出错误的文件的所有权和组,以及它们所在目录的访问权限。很可能您的网络服务器无法访问这些文件。 您可以使用以下方式更改所有权:

chown username:groupname filename

其中 username 是网络服务器的用户名,groupname 是网络服务器的组名。

【讨论】:

  • 我必须在哪里给出这条线?
  • 在您的网络服务器的命令行上。如果您无权访问它,您可以尝试使用 filezilla 等 FTP 程序,或询问系统管理员。
  • 这会在 localhost 中支持吗?
【解决方案2】:

在你的 php.ini 中:

  • 如果您想要输出错误:将display_errors 设置为开启
  • 如果您想查看日志文件中的错误:将log_errors 设置为On,将error_log 设置为字符串文件路径(例如:error_log = /var/log/php-scripts.log)

你可以找到php.ini运行时配置here的不同参数。

重新启动您的网络服务器后,如果您遇到意外的 500 错误; 可能是因为“@”运算符:来自文档:

目前,“@”错误控制运算符前缀甚至会禁用将终止脚本执行的严重错误的错误报告。除其他外,这意味着如果您使用“@”来抑制某个函数的错误,并且该函数不可用或输入错误,则脚本将在那里死掉,没有任何迹象表明原因。

除了在 php5.3 中你可以做任何事情之外,你可以做:(__DIR__ instead of dirname(__FILE__))

<?php
require_once(__DIR__.'/html2pdf.class.php');
?>

【讨论】:

  • 您是否重新启动了您的网络服务器?否则不考虑配置
  • 我没有在我的php.ini 中更改任何内容,然后我才在这里提出问题,它只存在.....
  • 正确查看来自该页面的错误;您必须更改 php.ini 并重新启动服务器。。然而,错误来自文件的事实 html2pdf.class.php 不存在或者因为有问题在 html2pdf.class.php.的代码中
猜你喜欢
  • 2015-07-05
  • 1970-01-01
  • 2016-03-26
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
  • 2015-09-22
  • 1970-01-01
  • 2016-07-23
相关资源
最近更新 更多