【PHP】XMLファイルのエラー「Parse error: syntax error, unexpected T_STRING」の対処法

  • 2018年10月15日
  • PHP

今日は、XMLを扱ったときに遭遇したエラーについて。
エラーの全文はこちら。

Parse error: syntax error, unexpected T_STRING in [ファイル名] on line 1.

「予期しないT_STRING がある」というシンタックスエラーです。
シンタックスエラー=構文エラーということでしたが、参考にしたサンプルと見比べても、間違いはないし…何故?と少しだけ焦りました。
そもそも、xml ファイルを開いているのに、何故 PHP のエラーが発生するのかも最初は分かりませんでした。

 

こちらのエラーは、原因としては下記の1行目が、PHP と誤認識されるために発生するエラーとのことでした。

<?xml version="1.0" encoding="utf-8"?>

確かに、PHPって <?php ~処理~ ?> だけでなく、省略形として <? ~処理~ ?> とも書けましたね…。

こちらの誤認識を防ぐために、下記のように、PHPの echo を使って1行目を記述すると、問題なく動作するとのことでした。

<?php echo '<?xml version="1.0" encoding="utf-8"?>'; ?>

試したところ、確かに問題なく動作しました!

他にも、.htaccess に「AddType text/html .html」もしくは「php_flag short_open_tag Off」を追加するという方法もあるようでしたが、対処が簡単だったこちらの方法を採用しました。

ちなみに、今回参考にさせていただいたサイトはこちらから。

「syntax error, unexpected ‘version’・・・」 エラーの対処方法 – Project Group
https://www.projectgroup.info/tips/php/comm_0004.html

 

以上、XMLファイルが正常に読み込めない・開けない時の対処法でした。
思ったよりもあっさり解決できたので良かったです。
もし同じところで躓いていらっしゃる方がいましたら、参考にしていただければと思います。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG