dポイントプレゼントキャンペーン実施中!

自宅サーバーでhtmlファイル内に一部phpを記述してブラウザで読み込んだ所、テンポラリで「Parse error: syntax error, unexpected(以下略)」というエラーが発生します。
その際、apacheを再起動し同じhtmlにアクセスするとエラーは発生せず、正常に閲覧できました。
ただし、しばらく使っていると、また同じ現象が出るようになります。
こちらで試した限りでは、現象が出るhtmlは(一部であれ)phpが使用されているものに限られ、phpをまったく使用していない普通のhtmlでは上記のような現象は発生していないみたいでした。

本件パーマネントではなくテンポラリで現象が発生する為、phpの記述自体に問題があるのか、phpやapacheなどの設定に問題があるのか、それとも全く別の箇所に問題があるのか、問題点の切り分けが出来ずに困っております。
その為、どんなことでも結構ですので、何かしらアドバイスいただける方がいらっしゃいましたらご教示のほど、よろしくお願いします。
なお、apacheやphpの設定変更、及び再インストールなどを試す事は可能です。

ちなみに環境は下記のようになっております。
OS:CentOS5.1
apache:2.2.8
PHP:4.4.8

また、上記情報のみでは切り分けが困難な場合、どのような情報が必要かお教えいただけると助かります。

以上、よろしくお願いします。

A 回答 (4件)

以前、同じような状態になったことがあります。



ソースの記述は何も間違っておらず、しかしたまにエラーが発生する。

結局、原因は掴めていないのですがおそらくPHPのコンパイルに失敗している気がします。

PHPソースの文字コードを明示的に指定してみてください。
以下、.htaccessでの設定例
php_value mbstring.script_encoding EUC-JP

これで一応当環境では、エラーが出なくなりました。

この回答への補足

しばらく様子見してみましたが、その後現象が出なくなった為、今回の対応で修正されたものと思われます。
どうもありがとうございました。

補足日時:2008/10/09 01:25
    • good
    • 0
この回答へのお礼

ありがとうございます。
「mbstring.script_encoding Parse error」で検索した所、今私の環境で発生している問題と同じと思われる問題を複数発見致しました。
下記はその一例となります。
http://blog.factree.co.uk/memo/000028.html
http://d.hatena.ne.jp/ha-g1/20080602

どうもこれが怪しそうです。

mookun2007さんもすでにご存知と思いますが、このような現象が発生された方は下記のどちらかの対応をされているようでした。

1. --enable-zend-multibyteコンパイルオプションなしでビルドし直す。
(これをつけてビルドするとscript_encodingの設定が出来るようになるようです。
なお私の環境では--enable-zend-multibyteコンパイルオプション付きでビルドしております)。

2. php.iniないしは.htaccessでscript_encodingの設定を行う。

1, 2共に行う事は可能ですが、簡単に試せるのは2なので、先ほど.htaccessにscript_encodingの設定を行いました。
これでしばらく様子を見てみようと思います。

なお作業前にphpinfoの情報を確認した所、mbstring.script_encodingの設定は「no value」となっておりました。

それとこの現象は常に発生するわけではないため、直ったか否かを判断する為にしばらく時間をいただければと思います。
そして解消したと判断できたら質問を閉め切らさせていただきたいと思います。

以上、よろしくお願いします。

お礼日時:2008/09/24 08:19

Parse error : 解析エラー


syntax error : 構文エラー
unexpected xxx ... : 出てくるべきでないところにxxxが出てきている...

とのことで、比較的一般的なエラーだと思いますよ。
「phpの記述自体に問題がある」
でいいとおもいます。unexpected以下のファイル名、行番号付近をチェックしてみてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
詳しくはmookun2007さんとkikutomaさんへのお礼に記載した内容と重複いたしますので省きますが、まずはmookun2007さんのご指摘の方法で様子見をしてみたいと思います。

お礼日時:2008/09/24 08:28

Parse error: syntax error, unexpected の後も省略せず、


全部書いた方が回答が得られると思います。

エラー発生のモジュール名や行数が書かれていないでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます。
詳しくはmookun2007さんとkikutomaさんへのお礼に記載した内容と重複いたしますので省きますが、まずはmookun2007さんのご指摘の方法で様子見をしてみたいと思います。

お礼日時:2008/09/24 08:27

()[]{}の閉じ忘れはないですか??


タブや全角スペース全角スラッシュとか入っていないですか?
    • good
    • 0
この回答へのお礼

ありがとうございます。
これは質問時私の情報記載漏れとなりますが、本件は私の自作のphpにとどまらず、一般公開されている複数のCMSツールのphpでも発生しております。
その為、「Parse error: syntax error, unexpected」以降のエラー内容はアクセスするファイルにより異なったものとなります。
また、一般公開されていて私がソースに一切触っていない複数のphpファイルでも現象が出る関係上、括弧の閉じ忘れなどがある可能性は低いのかなと判断しております。

今皆さんからアドバイスいただいた中ではmookun2007さんのご指摘の内容がもっとも可能性が高そうな気がしますので、まずはmookun2007さんの方法を試してみて様子を見てみたいと思います。

お礼日時:2008/09/24 08:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!