You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅为WordPress仪表盘调整max_execution_time(排除admin-ajax)

仅针对WordPress仪表盘调整max_execution_time的方案

核心逻辑

精准匹配仪表盘首页请求,排除admin-ajax.php及其他后台页面,仅在加载仪表盘时提升执行超时时间。


方案一:PHP代码实现(推荐)

将以下代码添加到自定义插件(优先选择,避免主题更新覆盖)或当前主题的functions.php文件末尾:

// 仅为仪表盘首页提升执行超时时间
add_action('init', 'custom_dashboard_extend_execution_time');
function custom_dashboard_extend_execution_time() {
    // 校验:后台环境 + 非AJAX请求 + 当前为仪表盘首页
    if (is_admin() && !wp_doing_ajax() && basename($_SERVER['SCRIPT_FILENAME']) === 'index.php') {
        // 设置超时时间为300秒(可按需修改)
        ini_set('max_execution_time', 300);
        // 部分主机需同步调整输入超时时间
        ini_set('max_input_time', 300);
    }
}

代码说明

  • is_admin():确保仅在wp-admin后台执行
  • !wp_doing_ajax():排除admin-ajax异步请求,不影响后台其他动态操作
  • basename($_SERVER['SCRIPT_FILENAME']) === 'index.php':精准匹配仪表盘首页(wp-admin/index.php),不会波及产品、订单等其他后台页面

方案二:.htaccess条件规则(当ini_set无效时)

如果主机禁用了ini_set函数,可在网站根目录的.htaccess中添加以下规则:

<Files "index.php">
    <If "%{REQUEST_URI} =~ m#^/wp-admin/$#">
        php_value max_execution_time 300
        php_value max_input_time 300
    </If>
</Files>

规则说明

仅当请求路径为/wp-admin/(即仪表盘首页,默认自动指向index.php)时,才触发超时时间调整,完全不会影响admin-ajax或其他后台页面。


注意事项

  1. 自定义插件方式更安全,避免修改核心文件或全局配置
  2. 若.htaccess规则无效,需联系主机服务商确认是否允许通过该方式调整PHP参数
  3. 300秒为示例值,可根据实际加载速度调整,避免设置过大浪费服务器资源

内容的提问来源于stack exchange,提问作者CRAIG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 01:20:34