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

树莓派自建WordPress站点JPG图片无法通过HTML img标签显示

解决树莓派WordPress中符号链接图片无法显示的问题

看起来你已经排查了路径和文件权限的常规问题——PHP能正常读取文件、获取EXIF信息,说明PHP进程(通常是www-data用户)能访问到图片,但浏览器无法加载,核心问题大概率出在Web服务器对符号链接的处理或者WordPress的文件访问路径配置上。下面是针对性的解决步骤:

1. 检查Web服务器是否允许跟随符号链接

Web服务器默认可能会阻止访问符号链接指向的文件,需要手动开启相关配置:

如果你用的是Apache:

  • 打开站点的虚拟主机配置文件(通常在/etc/apache2/sites-available/目录下),或者在WordPress根目录的.htaccess文件中添加以下内容:
    Options +FollowSymLinks
    
    同时确保虚拟主机配置里的AllowOverride设置为All,这样.htaccess的配置才能生效:
    <Directory /var/www/your-wordpress-dir>
        AllowOverride All
        # 其他配置...
    </Directory>
    
    修改后重启Apache:sudo systemctl restart apache2

如果你用的是Nginx:

  • 在站点的Nginx配置文件(通常在/etc/nginx/sites-available/目录下)的server块中添加:
    disable_symlinks off;
    
    或者如果需要更严格的权限控制,可以设置为:
    disable_symlinks if_not_owner;
    
    确保配置后重启Nginx:sudo systemctl restart nginx

2. 确认符号链接目标的真实路径权限

虽然你检查了符号链接本身的权限,但符号链接指向的真实文件及其所在目录,必须确保Web服务器运行用户(www-data)有读取权限:

  • 查看真实文件路径:readlink your-symlink-path
  • 给真实文件所在目录添加读取权限:sudo chmod +rx /path/to/real-directory
  • 给真实文件添加读取权限:sudo chmod +r /path/to/real-file.jpg

3. 调整WordPress中的图片URL路径

你当前用的是相对路径($value直接作为src),可能和WordPress的站点根目录不匹配,建议改用WordPress标准的文件URL生成方式:

  • 比如如果符号链接在WordPress的wp-content/uploads目录下,可以用wp_get_upload_dir()函数获取正确的URL前缀:
    $upload_dir = wp_get_upload_dir();
    $img_url = $upload_dir['url'] . '/' . basename($value);
    $num1 = $num1 . '<img src="'.$img_url.'" width="100" height="50" />'.'<br>';
    
    这样能确保生成的URL是符合WordPress站点配置的绝对路径,避免相对路径带来的解析问题。

4. 直接测试图片URL定位问题

把img标签里的src路径复制到浏览器地址栏直接访问,根据返回的错误码快速定位:

  • 403 Forbidden:Web服务器权限或符号链接配置问题
  • 404 Not Found:路径解析错误(比如符号链接没被Web服务器识别)
  • 500 Internal Server Error:配置文件语法错误

按照这些步骤排查,应该能解决符号链接图片无法显示的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:57:30