服务SVG / PHP时服务器响应500错误

时间:2016-12-27 23:30:52

标签: php svg

我正在尝试使用PHP代码生成SVG文件。我已尝试在此页面上实施技术#1:

http://www.devx.com/webdev/Article/37004

这是PHP代码:

<?php header("Content-type: image/svg+xml"); ?>
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/ REC-SVG-20010904/DTD/svg10.dtd">
<svg width="310" height="140" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <g style="stroke:black;fill:lightgreen" transform="translate(30,30)">
        <rect x="10" y="10" width="100" height="30" style="stroke-width:4"/>
        <circle cx="170" cy="25" r="20" style="stroke-width:4"/>
        <line x1="265" y1="10" x2="200" y2="70" style="stroke-width:4"/>
        <text x="80" y="90" style="font:size: 8"> Basic shapes</text>
    </g>
</svg>

然而,当我这样做时,我的服务器以http错误500响应。请参阅:

http://isometricland.net/keyboard/test-svg.php

我该如何解决这个问题?感谢。

[编辑]

我在日志中收到此错误:

PHP Parse error:  syntax error, unexpected 'version' (T_STRING) in /home/isometr1/public_html/keyboard/test-svg.php on line 2

1 个答案:

答案 0 :(得分:1)

尝试:

<?php header("Content-type: image/svg+xml"); ?>
<?php print '<?xml version="1.0" encoding="iso-8859-1"?>'; ?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/ REC-SVG-20010904/DTD/svg10.dtd">
<svg width="310" height="140" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <g style="stroke:black;fill:lightgreen" transform="translate(30,30)">
        <rect x="10" y="10" width="100" height="30" style="stroke-width:4"/>
        <circle cx="170" cy="25" r="20" style="stroke-width:4"/>
        <line x1="265" y1="10" x2="200" y2="70" style="stroke-width:4"/>
        <text x="80" y="90" style="font:size: 8"> Basic shapes</text>
    </g>
</svg>