解决dedecms的php.ini register_globals must is Off!

本文介绍了如何在php.ini文件中关闭register_globals和禁用session.auto_start,以提高网站安全性。通过注释或删除相关配置,确保应用运行在更安全的模式下。
去include/common.inc.php中将

 
 //开启register_globals会有诸多不安全可能性,因此强制要求关闭register_globals
if ( ini_get('register_globals') )
{
    exit('<a href="http://docs.dedecms.com/doku.php?id=register_globals">php.ini register_globals must is Off! </a>');
}

//禁止 session.auto_start
if ( ini_get('session.auto_start') != 0 )
{
    exit('<a href="http://docs.dedecms.com/doku.php?id=session_auto_start">php.ini session.auto_start must is 0 ! </a>');
}

注释或者删除即可!
xdebug xdebug support enabled Version 2.9.4 Support Xdebug on Patreon, GitHub, or as a business Debugger enabled IDE Key PHPSTORM Directive Local Value Master Value xdebug.auto_trace On On xdebug.cli_color 0 0 xdebug.collect_assignments Off Off xdebug.collect_includes On On xdebug.collect_params 1 1 xdebug.collect_return On On xdebug.collect_vars Off Off xdebug.coverage_enable On On xdebug.default_enable On On xdebug.dump.COOKIE no value no value xdebug.dump.ENV no value no value xdebug.dump.FILES no value no value xdebug.dump.GET no value no value xdebug.dump.POST no value no value xdebug.dump.REQUEST no value no value xdebug.dump.SERVER no value no value xdebug.dump.SESSION no value no value xdebug.dump_globals On On xdebug.dump_once On On xdebug.dump_undefined Off Off xdebug.file_link_format no value no value xdebug.filename_format no value no value xdebug.force_display_errors Off Off xdebug.force_error_reporting 0 0 xdebug.gc_stats_enable Off Off xdebug.gc_stats_output_dir C:\Windows\Temp C:\Windows\Temp xdebug.gc_stats_output_name gcstats.%p gcstats.%p xdebug.halt_level 0 0 xdebug.idekey PHPSTORM PHPSTORM xdebug.max_nesting_level 256 256 xdebug.max_stack_frames -1 -1 xdebug.overload_var_dump 2 2 xdebug.profiler_append Off Off xdebug.profiler_enable On On xdebug.profiler_enable_trigger Off Off xdebug.profiler_enable_trigger_value no value no value xdebug.profiler_output_dir D:/software/phpstudy_pro/Extensions/php_log/php7.4.3nts.xdebug.profiler D:/software/phpstudy_pro/Extensions/php_log/php7.4.3nts.xdebug.profiler xdebug.profiler_output_name cachegrind.out.%p cachegrind.out.%p xdebug.remote_addr_header no value no value xdebug.remote_autostart Off Off xdebug.remote_connect_back Off Off xdebug.remote_cookie_expire_time 3600 3600 xdebug.remote_enable Off Off xdebug.remote_host localhost localhost xdebug.remote_log no value no value xdebug.remote_log_level 7 7 xdebug.remote_mode req req xdebug.remote_port 9000 9000 xdebug.remote_timeout 200 200 xdebug.scream Off Off xdebug.show_error_trace Off Off xdebug.show_exception_trace Off Off xdebug.show_local_vars Off Off xdebug.show_mem_delta Off Off xdebug.trace_enable_trigger Off Off xdebug.trace_enable_trigger_value no value no value xdebug.trace_format 0 0 xdebug.trace_options 0 0 xdebug.trace_output_dir D:/software/phpstudy_pro/Extensions/php_log/php7.4.3nts.xdebug.trace D:/software/phpstudy_pro/Extensions/php_log/php7.4.3nts.xdebug.trace xdebug.trace_output_name trace.%c trace.%c xdebug.var_display_max_children 128 128 xdebug.var_display_max_data 512 512 xdebug.var_display_max_depth 3 3 修改php.ini配置后phpinfo中并没有client_port的相关信息,配置如下 [Xdebug] zend_extension=D:/software/phpstudy_pro/Extensions/php/php7.4.3nts/ext/php_xdebug.dll xdebug.collect_params=1 xdebug.collect_return=1 xdebug.auto_trace=On xdebug.trace_output_dir=D:/software/phpstudy_pro/Extensions/php_log/php7.4.3nts.xdebug.trace xdebug.profiler_enable=On xdebug.profiler_output_dir=D:/software/phpstudy_pro/Extensions/php_log/php7.4.3nts.xdebug.profiler xdebug.remote_enable=Off xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.remote_handler=dbgp xdebug.idekey=PHPSTORM xdebug.mode=debug xdebug.client_host=localhost xdebug.client_port=9003 xdebug.start_with_request=yes
最新发布
06-21
### phpstudy中Xdebug的`php.ini`配置`client_port`不生效的原因及解决方案 在PHPStudy环境中配置Xdebug时,如果发现`php.ini`文件中添加了`client_port`参数但未在`phpinfo()`中显示相关信息,可能由以下原因导致,并提供相应的解决方法。 #### 1. Xdebug版本差异 Xdebug 3.x与2.x在配置参数上存在显著差异。例如,`xdebug.remote_port`在Xdebug 3.x中已被废弃,取而代之的是`xdebug.client_port`[^3]。如果使用的是Xdebug 3.x版本,需确保所有参数符合新版本规范。 #### 2. 配置文件加载错误 PHP可能未正确加载修改后的`php.ini`文件。可以通过以下方式验证: - 使用`php --ini`命令检查当前加载的`php.ini`路径是否正确。 - 在`phpinfo()`输出中查找`Loaded Configuration File`字段,确认其指向正确的`php.ini`文件。 如果路径不匹配,需调整环境变量或重新指定正确的`php.ini`文件位置[^4]。 #### 3. 参数拼写错误 确保`client_port`参数的拼写完全正确。在Xdebug 3.x中,该参数应为`xdebug.client_port`[^3]。任何拼写错误都会导致参数无效。 #### 4. 权限问题 目标目录或文件可能存在权限限制,导致配置无法生效。例如,`php.ini`文件被标记为只读,或者Xdebug日志目录不可写入。可以通过以下方式排查: - 确保`php.ini`文件具有写入权限。 - 检查`xdebug.log`和`xdebug.output_dir`指定的路径是否可写。 #### 5. 配置冲突 某些参数可能与其他配置冲突,例如`xdebug.mode`未设置为`debug`,或`xdebug.start_with_request`未启用。以下是推荐的完整配置示例: ```ini [Xdebug] zend_extension="D:/phpstudy_pro/Extensions/php/php7.3.4nts/ext/php_xdebug.dll" xdebug.idekey="PHPSTORM" xdebug.mode=debug xdebug.client_host=127.0.0.1 xdebug.client_port=9003 xdebug.start_with_request=yes xdebug.log="D:/phpstudy_pro/Extensions/tmp/xdebug/xdebug.log" xdebug.output_dir="xdebug-log" ``` #### 6. 缓存问题 PHP可能缓存了旧的配置文件内容。可以通过重启Web服务器(如Apache或Nginx)或PHP-FPM服务来清除缓存并应用新配置。 #### 7. 扩展加载失败 确保Xdebug扩展已正确加载。通过`php -m | findstr xdebug`命令检查Xdebug是否出现在模块列表中。如果未加载,可能是DLL文件路径错误或版本不兼容[^3]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值