500(Internal Server Error)エラー解析

1342 ワード

今日は変な問題がありました。問題の原因は、もとは小さいウェブサイトを書いていましたが、ある日突然そのマシンが問題を起こして再インストールされました。結局、私の小さいアプリケーションはなくなりました。幸いにもバックアップをしました。バックアップしたファイルを/var/wwwディレクトリの下に置きましたが、画面が正常ではありません。HTMLの部分だけが正常に表示されていますが、jQueryに触れる部分は正常ではありません。その後chromeでデバッグして、次のエラーメッセージを得ました。
500 (Internal Server Error)
そして、インターネットで調べてみましたが、このエラーはサーバー側に問題があるということを教えてくれましたが、サーバー側の問題は具体的に説明されていません。
これは私をとてもおかしくさせました。元々はプログラムが完全に使えて、今日見た問題はありませんでした。コードには間違いがないはずです。エラーは環境にあるはずです。
そこでインターネットで調べてみました。ネットで調べたこの問題は本当に多いです。でも問題が発生したページを解決してくれませんでした。そこで私はまた自分の仮想マシンを使って試してみました。必要なファイルを全部私の仮想マシンにコピーして、ホームページを開けます。正常です。これはおかしいです。どうしてあのパソコンに入ればだめですか?なぜかを知りたいです。実はその時、自分は全然調べなくてもいいです。仮想マシンで走り始めた以上、この必要はないです。続けて調べるしかないです。やはり功夫は人を気にしないです。この文章で手がかりを得ました。Appacheのエラーログを調べて、具体的な日誌ファイルを教えてくれました。実は自分が前にこの考えを持っていましたが、Apacheサーバにはあまり詳しくないので、どこで見ますか?var/logの下で調べたら、本当に欲しいログが見つかりませんでした。このアプリのログファイルは以下の通りです。
/var/log/apache2/error.log
結果を見ると、肝心なミスは全部です。Call to undefined function json_encode()私は前にすでに通過しました。
sudo apt-get install php5-json
それを取り付けたのに、なぜこんなミスが起きたのですか?再検査はもとは私が再起動していなかったので、再起動しないと使えないです。思い切って再起動して、次のように命令します。
sudo service apache2 restart
再起動したら、やっぱりよかったです。気分がすぐによくなる。
収穫:
  • Apacheサーバのログを確認します。/var/log/apache 2/error.log.
  • php 5-jsonをインストールしたら、必ずapphe 2を再起動してください。そうしないと機能しません。