🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

1688閲覧

xfree(PHP・MYSQLサーバー)でwebサービスを運用していたら、500 Internal Server Error が出たので、解決したいです。

kotouharuto

総合スコア38

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2021/01/04 09:46

編集2021/01/05 05:29

実現したいこと

xfree(PHP・MYSQLサーバー)でwebサービスを運用していたら、500 Internal Server Error が出てしまったので、そちらを解決したいです。

また、ファイルのアップロードはFileZillaを使用しています。

起きている問題

現在、xfreeのPHP・MYSQLサーバーを使用して、webサービスを運用していたのですが、何かが原因で突然サイトが開けなくなってしまいました。

エラーメッセージ

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, admin@ドメイン and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

書いてあるとおり、「内部サーバーエラー」のようです。
そして一番下の段に「サーバーエラーログを確認してください」と書いてありますが、
どうやら自分が確認した限りでは、PHP・ MYSQLサーバーの管理画面ではエラーログを確認する場所がありません。(WordPressサーバーの情報は見つかるのですが...)


Applications/MAMP/logs/php_error.logで確認したエラー内容です

PHP Warning: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/Original-Application/main/app/weight_chart.php:9) in /Applications/MAMP/htdocs/Original-Application/main/libs/function.php on line 78

スクリプトの実行中にheader()をしたことで発生するエラーのようです

ちなみにエラーで指摘されている箇所はこうなっています

function INSERT2($pdo, $user_id, $date, $weight) { $sql = "INSERT INTO chart(user_id, date, weight) VALUES (:user_id, :date, :weight)"; $stmt = $pdo->prepare($sql); $stmt->bindValue(':user_id', $_SESSION['user_id'], PDO::PARAM_STR); $stmt->bindValue(':date', $date, PDO::PARAM_STR); $stmt->bindValue(':weight', $weight, PDO::PARAM_STR); $stmt->execute(); $pdo->commit(); // header("Location:weight_chart.php"); おそらくここがエラーになっているようです // exit(); }

試したこと

  • FileZillaで必要なファイルを全て再アップロードをやってみたのですが、結局何も変わりませんでした。

  • xfreeの管理パネルの「php.ini設定」でエラー設定を軽くいじってみたのですが、特に何も変わらず同じエラーが出てきました。

  • FileZillaで全ディレクトリ・ファイルのパーミッションを755(705も検証済み)にしてみたのですが、特に状況は変わらずで、同じエラーが出ています。

このような状況になった原因の仮説

おそらくですが、使用しているメインのディレクトリの名前を変更したことにより、起きたと考えられます。
以前はとある理由でscr-imageというディレクトリ名だったのですが、とある理由によりディレクトリ名をmainに変更しました。
原因はおそらくその変更によるエラーの調整をしていたときに発生したものだと考えらます

補足情報

エラーログに記載していたweight_chart.phpです

php

1<?php 2include('../libs/init.php'); 3 4// ログインしていなかったらログインしてもらう 5if(!isset($_SESSION['user_id'])) { 6 header("Location: login.php"); 7 exit(); 8} 9 10// DB接続 11$pdo = db_connect(); 12$pdo->beginTransaction(); 13 14// 空の変数$date, $weightを用意(DBのデータを表示するために) 15$user_id = ''; 16$date = ''; 17$weight = ''; 18$stmt = ''; 19 20$stmt = fetchAllWeight($pdo, $_SESSION['user_id']); 21 22$date = trim($date, ","); 23$weight = trim($weight, ","); 24 25// Smarty接続 26$smarty = getSmarty(); 27$smarty->assign('USERNAME', $_SESSION['USERNAME']); 28$smarty->assign('date', $date); 29$smarty->assign('weight', $weight); 30$smarty->display('weight_chart.tpl'); 31?>

以上です。わかる方がいらっしゃれば、ご回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kotouharuto

2021/01/04 10:39

そちらのリンクのサイトは少し前にみたのですが、まず管理パネル(PHP・MYSQLサーバ)の項目に「WordPress一覧・設定」の項目がなかったです。
kotouharuto

2021/01/04 10:43

ちなみに自分はWordPressを使用していません。
退会済みユーザー

退会済みユーザー

2021/01/04 10:49

古い契約ですか? 設定マニュアル自体が内容古いまま放置するとは思えませんし。エラーログをチェックできるようにしないと、話が進まないと思います。
m.ts10806

2021/01/04 11:17

SQL Serverはマイクロソフト製のDBで、MySQLとは全く別物です。
kotouharuto

2021/01/04 11:41

m.ts10806さん 失礼致しました。直ちに編集した上でリンク先のページを読んでみます。 ご指摘ありがとうございました。
kotouharuto

2021/01/04 11:44

m6uさん やはりそうですよね、少し確認してみます。 ありがとうございます。
guest

回答1

0

このエラーは、header関数の前に何かしらの表示を行っている際に出るものです。デバッグ用の表示などをいれていませんか? あるいはエラー表示がでているとか。

投稿2021/01/05 04:05

ockeghem

総合スコア11705

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kotouharuto

2021/01/05 05:27

ご回答ありがとうございます。 そうですよね、確認してたのですが、特にそのような問題はなさそうです。 後、上記のエラーメッセージに記載していた weight_chart.phpのコードを補足情報として載せておきました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問