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

Mac环境Docker容器访问localhost:8080出现HTTP 500错误排查

问题分析与解决方案

核心问题拆解

1. 初始sed命令解析失败

初始日志中的sed: -e expression #1, char 30: unknown option to 's'错误,根源是你用/作为sed替换的分隔符,但$WP_SENTRY_PHP_DSN等变量的值包含/(比如https://xxx...格式的链接),导致sed把这些/误判成分隔符,进而解析替换表达式失败。

2. 修改后sed命令格式错误

修改后的日志出现sed: can't read s/{DB_HOST}/vd-db/g: No such file or directory,说明修改后的sed命令格式完全错误——sed把替换表达式当成了要读取的文件名,大概率是误删了-i参数后的引号,或者打乱了命令参数顺序。

修复步骤

步骤1:替换sed分隔符解决解析冲突

把所有sed命令的分隔符从/换成不会在变量值中出现的字符(比如#),避免斜杠引发的解析错误。修改启动脚本中的sed命令为:

sed -i "s#{DB_HOST}#$DB_HOST#g" /var/www/html/config/application.php
sed -i "s#{DB_PORT}#$DB_PORT#g" /var/www/html/config/application.php
sed -i "s#{DB_NAME}#$DB_NAME#g" /var/www/html/config/application.php
sed -i "s#{DB_USER}#$DB_USER#g" /var/www/html/config/application.php
sed -i "s#{DB_PASSWORD}#$DB_PASSWORD#g" /var/www/html/config/application.php
sed -i "s#{WP_SENTRY_PHP_DSN}#$WP_SENTRY_PHP_DSN#g" /var/www/html/config/application.php
sed -i "s#{WP_SENTRY_ENV}#$WP_SENTRY_ENV#g" /var/www/html/config/application.php
sed -i "s#{JS_DSN}#$JS_DSN#g" /var/www/html/config/application.php
sed -i "s#{WP_ROCKET_KEY}#$WP_ROCKET_KEY#g" /var/www/html/config/application.php
sed -i "s#{WP_ROCKET_EMAIL}#$WP_ROCKET_EMAIL#g" /var/www/html/config/application.php
sed -i "s#{WP_MIGRATE_DB_PRO_KEY}#$WP_MIGRATE_DB_PRO_KEY#g" /var/www/html/config/application.php

步骤2:验证配置文件替换结果

容器启动后,进入容器检查配置文件是否被正确替换:

# 替换成你的容器ID或名称
docker exec -it <container_id/name> bash
# 查看配置文件内容
cat /var/www/html/config/application.php

确认所有{xxx}占位符都被替换为对应的环境变量值,若未替换,检查环境变量是否正确传入容器,以及脚本是否有权限修改该文件。

步骤3:排查WordPress 500错误

若sed替换成功后仍出现500错误,需查看PHP错误日志定位问题:

  • 常规PHP错误日志路径:/var/log/php-fpm.log
  • 开启WordPress调试模式:在wp-config.php中添加以下代码:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

重新访问页面后,查看wp-content/debug.log中的具体错误信息,定位代码或配置问题。

额外优化建议

  • 避免用sed直接修改配置文件,推荐使用envsubst等模板工具处理变量替换,更稳定且不易出错;
  • WordPress支持直接通过环境变量配置数据库信息,可跳过自定义脚本替换,直接在docker-compose.yml中配置对应环境变量即可生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 04:47:06