欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

网页不提示php文件的语法错误

程序员文章站 2022-06-17 12:11:58
...
php php.ini error_reporting display_errors 我在php.ini中设置了display_errors=On 和error_reportingE_ALL & ~E_NOTICE,同时在httpd.conf里设置了php_flag display_errors on
php_value error_reporting 2039
这两个参数,运行phpinfo.php,可以正常显示这些参数,但就是不能在网页上显示语法错误。。。一直在想,原因可能是php.ini文件根本就没有执行,于是又写了这样的一个文件:
ini_set("display_errors","On");
error_reporting(E_ALL);
include("test.php");
?>
其中test.php是有语法错误的那个文件,这样的话,肯定可以了吧,结果还不行。。。
哪位大神救救我。。。

回复讨论(解决方案)

那显示什么?
试试这个又显示什么?

在 phpinfo(); 的结果中查看生效的 php.ini 是否是你修改的那个

既然是 test.php,那就把它贴出来

在 phpinfo(); 的结果中查看生效的 php.ini 是否是你修改的那个

既然是 test.php,那就把它贴出来
test.php文件内容为:
echo "hello"
echo "world";
?>
即第一个echo语句后面少一个分号。


在 phpinfo(); 的结果中查看生效的 php.ini 是否是你修改的那个

既然是 test.php,那就把它贴出来
test.php文件内容为:
echo "hello"
echo "world";
?>
即第一个echo语句后面少一个分号。

生效的php.ini确实是我修改的那个

那显示什么?
试试这个又显示什么?



运行你上面贴的代码,效果就是断网的效果,没有任何提示,我的php文件只要有错误,就是断网的效果。

通过phpinfo();
看看你的配置是否成功了!

通过phpinfo();
看看你的配置是否成功了!
成功了啊,完全可以显示正确的配置

display_startup_errors

我有个猜想,是否服务器把所有语言错误都转换为500错误,然后客户端用了“友好”提示,看上去就变成像是断网的感觉

应用程序出错时,通常返回一个错误号。web 服务器不是神仙,不可能对任何应用程序做错误提示处理。
于是只要你不返回 0,我就向用户回传 http 500 (拒绝响应)

打开 php 的错误显示功能 display_errors = On 后
虽然 php 程序是错误的,但对于 web 服务器而言是正确的。因为应用程序 php 产生了输出,虽然是 php 的错误信息。但 web 服务器并不在意输出的内容的

display_startup_errors

也试过了,不行

我有个猜想,是否服务器把所有语言错误都转换为500错误,然后客户端用了“友好”提示,看上去就变成像是断网的感觉
500错误好像是用IIS才会出现的错误吧,我用的是Apache,并且也没有涉及账号密码之类的那些东西

应用程序出错时,通常返回一个错误号。web 服务器不是神仙,不可能对任何应用程序做错误提示处理。
于是只要你不返回 0,我就向用户回传 http 500 (拒绝响应)

打开 php 的错误显示功能 display_errors = On 后
虽然 php 程序是错误的,但对于 web 服务器而言是正确的。因为应用程序 php 产生了输出,虽然是 php 的错误信息。但 web 服务器并不在意输出的内容的

额,不懂啊,可否详细说一下怎样解决这个问题,我之前配置的LAMP环境可以正常显示的,用AppServ为什么就不行呢。。。

贴出 phpinfo 的结果


我有个猜想,是否服务器把所有语言错误都转换为500错误,然后客户端用了“友好”提示,看上去就变成像是断网的感觉
500错误好像是用IIS才会出现的错误吧,我用的是Apache,并且也没有涉及账号密码之类的那些东西


我有个猜想,是否服务器把所有语言错误都转换为500错误,然后客户端用了“友好”提示,看上去就变成像是断网的感觉
500错误好像是用IIS才会出现的错误吧,我用的是Apache,并且也没有涉及账号密码之类的那些东西

额,刚才弄错了,Apache也可以有500错误,问题是该怎样验证这个想法呢?

贴出 phpinfo 的结果

PHP Version 5.2.6


System Windows NT YANYAOZHEN-D1 6.1 build 7600
Build Date May 2 2008 18:01:20
Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--with-gd=shared" "--with-extra-includes=C:\Program Files (x86)\Microsoft SDK\Include;C:\PROGRA~2\MICROS~2\VC98\ATL\INCLUDE;C:\PROGRA~2\MICROS~2\VC98\INCLUDE;C:\PROGRA~2\MICROS~2\VC98\MFC\INCLUDE" "--with-extra-libs=C:\Program Files (x86)\Microsoft SDK\Lib;C:\PROGRA~2\MICROS~2\VC98\LIB;C:\PROGRA~2\MICROS~2\VC98\MFC\LIB"
Server API Apache 2.0 Handler
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File C:\Windows\php.ini
PHP API 20041225
PHP Extension 20060613
Zend Extension 220060519
Debug Build no
Thread Safety enabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams php, file, data, http, ftp, compress.zlib
Registered Stream Socket Transports tcp, udp
Registered Stream Filters convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, zlib.*

Zend logo This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

PHP Credits

Configuration

PHP Core

Directive Local Value Master Value
allow_call_time_pass_reference On On
allow_url_fopen On On
allow_url_include Off Off
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_globals_jit On On
auto_prepend_file no value no value
browscap no value no value
default_charset no value no value
default_mimetype text/html text/html
define_syslog_variables Off Off
disable_classes no value no value
disable_functions no value no value
display_errors On On
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl On On
error_append_string no value no value
error_log no value no value
error_prepend_string no value no value
error_reporting 2039 6135
expose_php On On
extension_dir C:/AppServ\php5\ext C:/AppServ\php5\ext
file_uploads On On
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .;C:\AppServ\php5\pear .;C:\AppServ\php5\pear
log_errors Off Off
log_errors_max_len 1024 1024
magic_quotes_gpc On On
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
mail.force_extra_parameters no value no value
max_execution_time 30 30
max_input_nesting_level 64 64
max_input_time 60 60
memory_limit 24M 24M
open_basedir no value no value
output_buffering no value no value
output_handler no value no value
post_max_size 80M 80M
precision 12 12
realpath_cache_size 16K 16K
realpath_cache_ttl 120 120
register_argc_argv On On
register_globals On On
register_long_arrays On On
report_memleaks On On
report_zend_debug On On
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from no value no value
sendmail_path no value no value
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 200M 200M
upload_tmp_dir no value no value
user_dir no value no value
variables_order EGPCS EGPCS
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On
zend.ze1_compatibility_mode Off Off


贴出 phpinfo 的结果

PHP Version 5.2.6


System Windows NT YANYAOZHEN-D1 6.1 build 7600
Build Date May 2 2008 18:01:20
Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--with-gd=shared" "--with-extra-includes=C:\Program Files (x86)\Microsoft SDK\Include;C:\PROGRA~2\MICROS~2\VC98\ATL\INCLUDE;C:\PROGRA~2\MICROS~2\VC98\INCLUDE;C:\PROGRA~2\MICROS~2\VC98\MFC\INCLUDE" "--with-extra-libs=C:\Program Files (x86)\Microsoft SDK\Lib;C:\PROGRA~2\MICROS~2\VC98\LIB;C:\PROGRA~2\MICROS~2\VC98\MFC\LIB"
Server API Apache 2.0 Handler
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\Windows
Loaded Configuration File C:\Windows\php.ini
PHP API 20041225
PHP Extension 20060613
Zend Extension 220060519
Debug Build no
Thread Safety enabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams php, file, data, http, ftp, compress.zlib
Registered Stream Socket Transports tcp, udp
Registered Stream Filters convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, zlib.*

Zend logo This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

PHP Credits

Configuration

PHP Core

Directive Local Value Master Value
allow_call_time_pass_reference On On
allow_url_fopen On On
allow_url_include Off Off
always_populate_raw_post_data Off Off
arg_separator.input & &
arg_separator.output & &
asp_tags Off Off
auto_append_file no value no value
auto_globals_jit On On
auto_prepend_file no value no value
browscap no value no value
default_charset no value no value
default_mimetype text/html text/html
define_syslog_variables Off Off
disable_classes no value no value
disable_functions no value no value
display_errors On On
display_startup_errors Off Off
doc_root no value no value
docref_ext no value no value
docref_root no value no value
enable_dl On On
error_append_string no value no value
error_log no value no value
error_prepend_string no value no value
error_reporting 2039 6135
expose_php On On
extension_dir C:/AppServ\php5\ext C:/AppServ\php5\ext
file_uploads On On
highlight.bg #FFFFFF #FFFFFF
highlight.comment #FF8000 #FF8000
highlight.default #0000BB #0000BB
highlight.html #000000 #000000
highlight.keyword #007700 #007700
highlight.string #DD0000 #DD0000
html_errors On On
ignore_repeated_errors Off Off
ignore_repeated_source Off Off
ignore_user_abort Off Off
implicit_flush Off Off
include_path .;C:\AppServ\php5\pear .;C:\AppServ\php5\pear
log_errors Off Off
log_errors_max_len 1024 1024
magic_quotes_gpc On On
magic_quotes_runtime Off Off
magic_quotes_sybase Off Off
mail.force_extra_parameters no value no value
max_execution_time 30 30
max_input_nesting_level 64 64
max_input_time 60 60
memory_limit 24M 24M
open_basedir no value no value
output_buffering no value no value
output_handler no value no value
post_max_size 80M 80M
precision 12 12
realpath_cache_size 16K 16K
realpath_cache_ttl 120 120
register_argc_argv On On
register_globals On On
register_long_arrays On On
report_memleaks On On
report_zend_debug On On
safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value
sendmail_from no value no value
sendmail_path no value no value
serialize_precision 100 100
short_open_tag On On
SMTP localhost localhost
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_callback_func no value no value
upload_max_filesize 200M 200M
upload_tmp_dir no value no value
user_dir no value no value
variables_order EGPCS EGPCS
xmlrpc_error_number 0 0
xmlrpc_errors Off Off
y2k_compliance On On
zend.ze1_compatibility_mode Off Off

这是phpinfo的上面一部分,太长了,所以只贴这一部分,看看有什么问题

在httpd.conf里设置了
php_flag display_errors on
php_value error_reporting 2039

把他们删掉!

在httpd.conf里设置了
php_flag display_errors on
php_value error_reporting 2039

把他们删掉!
其实之前是没有这个的,但是因为网页上不显示错误,据说在httpd.conf里设置者两个参数可以覆盖掉php.ini中的相关配置,所以后来就加了这么两行,现在已经去掉了,重启服务器后运行错误的php程序,还是不行

建议重新安装,再试试。

建议重新安装,再试试。
好吧。。。


建议重新安装,再试试。
好吧。。。

有时候,在不知道什么原因的情况下,重装确实是最有效的方法。