【问题标题】:Internal Server Error 500 when there should be "just" a php error内部服务器错误 500 应该“只是”一个 php 错误
【发布时间】:2012-03-28 00:58:59
【问题描述】:

我的朋友订购了一个 VPS,但我们遇到了一些问题。 当应该有一个 php 错误告诉我出了什么问题时,服务器会以 500 Internal Server Error 响应。

例如我有这个脚本:

<?php

echo 'hi';


?>

为了测试,它只是为了测试。然后我在其中犯了一些错误,所以通常 php 只会抛出一些错误:

<?php

echo 'hi';
sdsd
sd

?>

但在我们的例子中,服务器现在抛出 500 Internal Server 错误,而不是显示一个小警告。我没有更改任何文件权限或任何可能导致这种情况的东西,我认为这是配置。

我在这里发布 php.ini:

[Verisign Payflow Pro]
pfpro.defaultport = 443
pfpro.defaulttimeout = 30
pfpro.defaulthost = "test-payflow.verisign.com"

[ODBC]
odbc.allow_persistent = On
odbc.defaultbinmode = 1
odbc.max_links = -1
odbc.check_persistent = On
odbc.defaultlrl = 4096
odbc.max_persistent = -1

[Assertion]

[mSQL]
msql.allow_persistent = On
msql.max_persistent = -1
msql.max_links = -1

[Sybase]
sybase.max_links = -1
sybase.compatability_mode = Off
sybase.min_error_severity = 10
sybase.allow_persistent = On
sybase.min_message_severity = 10
sybase.max_persistent = -1

[gd]

[MySQL]
mysql.default_socket = 
mysql.max_links = -1
mysql.default_password = 
mysql.default_port = 
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.default_user = 
mysql.default_host = 
mysql.trace_mode = Off
mysql.connect_timeout = 60

[COM]

[exif]

[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.min_client_severity = 10
sybct.max_links = -1
sybct.min_server_severity = 10

[Session]
session.bug_compat_42 = 0
session.auto_start = 0
session.cache_limiter = nocache
session.bug_compat_warn = 1
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
session.name = PHPSESSID
session.hash_function = 0
session.entropy_length = 0
session.serialize_handler = php
session.cookie_path = /
session.entropy_file = 
session.gc_probability = 1
session.cache_expire = 180
session.gc_divisor = 1000
session.cookie_domain = 
session.gc_maxlifetime = 1440
session.referer_check = 
session.save_handler = files
session.save_path = "/tmp"
session.cookie_lifetime = 0
session.use_cookies = 1
session.use_trans_sid = 0
session.hash_bits_per_character = 5

[mbstring]

[Date]

[soap]
soap.wsdl_cache_ttl = 86400
soap.wsdl_cache_enabled = 1
soap.wsdl_cache_dir = "/tmp"

[mail function]
sendmail_path = /usr/sbin/sendmail -t -i
smtp_port = 25
smtp = localhost

[PostgresSQL]
pgsql.max_links = -1
pgsql.allow_persistent = On
pgsql.log_notice = 0
pgsql.auto_reset_persistent = Off
pgsql.ignore_notice = 0
pgsql.max_persistent = -1

[SQL]
sql.safe_mode = Off

[bcmath]
bcmath.scale = 0

[MySQLi]
mysqli.default_host = 
mysqli.default_pw = 
mysqli.reconnect = Off
mysqli.default_user = 
mysqli.default_socket = 
mysqli.max_links = -1
mysqli.default_port = 3306

[Tidy]
tidy.clean_output = Off

[Syslog]
define_syslog_variables = Off

[browscap]

[Informix]
ifx.max_links = -1
ifx.byteasvarchar = 0
ifx.max_persistent = -1
ifx.default_password = 
ifx.nullformat = 0
ifx.textasvarchar = 0
ifx.charasvarchar = 0
ifx.allow_persistent = On
ifx.blobinfile = 0
ifx.default_host = 
ifx.default_user = 

[FrontBase]

[PHP]
asp_tags = Off
include_path = ".:"
ignore_repeated_source = Off
variables_order = "EGPCS"
track_errors = Off
output_buffering = 4096
auto_globals_jit = On
doc_root = 
log_errors = On
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
auto_append_file = 
disable_classes = 
enable_dl = On
display_startup_errors = Off
user_dir = 
extension_dir = "/usr/lib64/php/modules"
register_argc_argv = Off
display_errors = On
open_basedir = "/var/www/vhosts/whatdate.info/httpdocs/:/tmp/"
allow_call_time_pass_reference = Off
safe_mode_exec_dir = 
default_socket_timeout = 60
register_globals = Off
unserialize_callback_func = 
y2k_compliance = On
magic_quotes_runtime = Off
expose_php = Off
log_errors_max_len = 1024
post_max_size = "16M"
report_memleaks = On
engine = On
memory_limit = "64M"
short_open_tag = On
max_execution_time = 60
safe_mode_include_dir = 
serialize_precision = 100
precision = 14
upload_max_filesize = "16M"
register_long_arrays = Off
safe_mode = "off"
zend.ze1_compatibility_mode = Off
zlib.output_compression = Off
ignore_repeated_errors = Off
default_mimetype = "text/html"
disable_functions = 
file_uploads = On
magic_quotes_sybase = Off
max_input_time = 60
magic_quotes_gpc = Off
error_reporting = E_ALL
safe_mode_gid = Off
auto_prepend_file = 
implicit_flush = Off
allow_url_fopen = On

[MSSQL]
mssql.compatability_mode = Off
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.max_links = -1
mssql.secure_connection = Off

谁能告诉我出了什么问题或者至少给个提示?

非常感谢

【问题讨论】:

  • sdsd 不是小警告,而是解析错误
  • 他们的问题是,打开 display_errors,为什么解析错误不显示?
  • @Matthias Dunnowa:对于此类问题,请添加与您正在使用的 http/s 服务器软件相关的标签。即:apache|iis|等。 “服务器”和“内部”在这里不是真正有效的标签。
  • 您给房东的技术支持打过电话吗?
  • 我添加了感谢您的通知。是的,会寻求支持,很好奇我是否可以自己修复它以从中学到一些东西

标签: php apache internal


【解决方案1】:

你应该检查你的error.log

另外,维基引用

500 - 通用错误消息,在没有更具体的消息适合时给出

根据我的经验,我也遇到过具有 777 权限的 php 文件的此类问题。请尝试检查您的 php 文件的权限。如果找到 777 则将其转换为 755。

一旦 php 文件有 777 权限,就会停止并抛出错误 500。

【讨论】:

    猜你喜欢
    • 2014-06-08
    • 2018-01-15
    • 2010-12-14
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多