WordPress包含SVG文件出错。

5

我使用PHP和WordPress。

在本地主机上,我可以毫无问题地包含SVG文件,但在实时服务器上,我尝试包含SVG文件以便能够用CSS进行样式设置。

我收到了以下错误信息

Parse error: syntax error, unexpected T_STRING in
/www/webvol1/34q/h6njx/mysite.com/public_html/wp-content/uploads/2014/02/fish_icon.svg on line 1

我在文件上运行了file_exists函数,它返回true,但是include却不起作用。为什么?为什么是在本地服务器上而不是在线服务器上?

3个回答

7

我的主机允许使用 <? 符号,而 include 会将其视为 PHP 文件,而不是 XML 文件。

我必须在 XML 前运行 echo 命令。

<?php echo '<?xml version="1.0" encoding="utf8"?>'; ?>

这使得WordPress无法读取此图像,从而阻止了良好的图像预览。欢迎提出其他聪明的解决方案...


3
您可能很早就解决了这个问题,但我刚遇到这个问题,与Apache的short_open_tag设置有关。
您可以通过在您的.htaccess中包含以下内容来对每个站点进行修改。
 # .htaccess
 <IfModule mod_php5.c>
   php_value short_open_tag 0
 </IfModule>

您可以通过编辑php.ini文件,找到短标签开启设置并将其关闭,以修复所有站点的问题。
# php.ini
short_open_tag: Off

1

对我来说有效-只需完全从SVG文件中删除xml头标记,因为浏览器不需要它。像基于Web的 SVGOMG工具这样的SVG优化工具会自动为您执行此操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接