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

更换服务器后WordPress出现strpos(): Empty needle错误如何解决?

问题根本原因

你遇到的strpos(): Empty needle报错本质就是home_url()返回空值导致的,你的猜测完全正确:问题根源是新服务器上的WordPress站点地址配置缺失。

Duplicator迁移后出现该问题通常是三类原因导致:迁移流程中站点域名配置步骤漏填、新环境wp-config.php文件中预置了空的站点地址参数覆盖了默认配置、数据库迁移时wp_options表内的站点地址字段值丢失。

根源修复方案(无需修改业务代码)

以下方案优先级从高到低,按需选择即可:

  • 后台直接配置(可正常登录WordPress后台时使用)
    登录后台进入「设置」-「常规」,分别填写*WordPress地址(URL)和站点地址(URL)*为站点实际访问地址,格式为https://你的域名,保存更改后清理缓存即可生效。
  • wp-config.php硬编码配置(无法登录后台时使用)
    编辑站点根目录的wp-config.php文件,添加两行配置:
    define( 'WP_HOME', 'https://你的域名' );
    define( 'WP_SITEURL', 'https://你的域名' );
    
    替换为实际站点地址后保存覆盖原文件即可,该配置优先级最高,会强制覆盖后台的设置值。
  • 直接修改数据库配置
    登录站点数据库,找到wp_options表(表前缀可自定义,注意匹配实际前缀),分别修改option_name为siteurl和home的两条记录的option_value值为实际站点地址即可。

配置完成后清理站点缓存、浏览器缓存,即可消除该报错,无需修改你贴出的is_local_attachment函数代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:06:05