質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

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

Q&A

1回答

969閲覧

HTTP ERROR 500エラーの解消

tenjikun

総合スコア6

PHP

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

0グッド

0クリップ

投稿2018/04/20 04:43

編集2018/04/20 07:30

HTTP ERROR 500エラーの解消

以下のPHPの記述で該当ページが500エラーとなってしまいます。

当方PHPの知識が皆無のため、問題個所をご指示いただきたいです。

以前は正常に処理されていたのですが、おそらくPHPのバージョンが5.6.3に上がってからエラーが出るようになりました。ですがそれも定かではありません。

発生している問題・エラーメッセージ

HTTP ERROR 500

該当のソースコード

<?php /****************************************************************** 確認画面 ******************************************************************/ /******************************************************** 基本処理 ********************************************************/ // 共通定数を読み込みます(必須) include_once "riCommon.inc"; // キャッシュを制御を行います(必須) include_once "riCache.inc"; // 初期処理ルーチンを読み込みます(必須) include_once "riProcStart.inc"; // フォーム定義読み込み include_once "./form_info01.inc"; // 表示項目の初期化 $ShowVal = array(); // エラーテンプレートを変更 $appl->setErrorTemplate( "./loansim01_error.html" ); /******************************************************** 送信情報処理 ********************************************************/ // 送信データをセッションに保存 rcTrans::ar2ar($_POST, &$_SESSION, $form->FormInfo); // フォーム値の加工処理 // 必須をはずす // rcTrans::rmValueFromArray(&$essentialItem, "sample"); // エラーチェック用変数にセッション値をコピー foreach ($_SESSION as $key => $value) { if (is_array($value)) { $CheckData[$key] = implode(",", $value); } else { $CheckData[$key] = $value; } } // その他のエラーチェック include_once "./value_check01.inc"; // 汎用エラーチェック $errChecker = new rcErrorCheck(&$appl, &$form, &$CheckData, &$arError); /******************************************************** 表示用加工処理 ********************************************************/ // $h_mon = 100000; // $ritu = 3; // $h_bonus = 100000; // $kikan = 360; // 月額のお支払い希望額 $h_mon = $CheckData["shiharai"]; // 金利 // $ritu = $CheckData["kinri"]; if(!$CheckData["kinri_check"]){ $ritu = $CheckData["kinri"]; }else{ $ritu = IEZO_KINRI; $ShowVal["kinri"] = "「※個人名のため※特別金利」<br>".※個人名のため※; } // 返済期間(年単位を月へ修正) $kikan = $CheckData["year"] * 12; //月額のお支払い希望額×4. ボーナス返済額÷100)×6(ヶ月) // $h_bonus = $CheckData["bonus2"]; if($CheckData["bonus"] == "あり"){ $h_bonus = $h_mon * $CheckData["bonus2"] / 100 * 6; }else{ $h_bonus = 0; $ShowVal["bonus2"] = 0; } $yearkikan = $kikan; $riritu = $ritu; $kai_mon = $kikan; $kai_bonus = $kikan / 6; $tukiri1 = $riritu / (100*12); $tukiri2 = pow(1 + $tukiri1, $kai_mon); $yusi_mon = $h_mon * ($tukiri2 - 1) / ($tukiri1 * $tukiri2); $tukiri1_b = $riritu / (100 * 2); $tukiri2_b = pow(1 + $tukiri1_b, $kai_bonus); $yusi_bonus = $h_bonus * ($tukiri2_b -1) / ($tukiri1_b * $tukiri2_b); $kari = $yusi_mon + $yusi_bonus; $r_bonus = $yusi_bonus / $kari; $ShowVal["all"] = number_format($kari); // $ShowVal[""] = number_format($yusi_mon)."<BR>"; // $ShowVal[""] = number_format($yusi_bonus)."<BR><BR>"; // 金利 // $ShowVal["kinri"] = ""; $temp = rcTrans::multiShowEscape($CheckData); $ShowVal = $ShowVal + $temp; ?>

試したこと

補足情報(FW/ツールのバージョンなど)

ソース上の※個人名のため※は、個人名のため変更しています。

静的サイトのhtmlファイルに.htaccesを使ってPHPを記述しています。

ローンシュミレーションをおこなうページで、別ファイルからform actionでsubmitしたときに該当ページに飛びますが、その時に500エラーとなります。

上記のPHPコードを削除し、submitした場合データは反映されませんがページは表示されます。

※追記
サーバーログで確認したところ
PHP Fatal error: Call-time pass-by-reference has been removed in /var/www/~ on line 27, referer: https://www~
というエラー内容でした。

// 送信データをセッションに保存
rcTrans::ar2ar($_POST, &$_SESSION, $form->FormInfo);
の部分だと思うのですがよろしくお願いいたします。

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

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

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

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

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

Lulucom

2018/04/20 06:54

「静的サイトのhtmlファイルに.htaccesを使ってPHPを記述しています。」は具体的にはどういうことでしょうか。
tenjikun

2018/04/20 07:08

AddType application/x-httpd-php .php .htmlを記述しています。その他のincludeファイルの呼び出しなどは正常に動いています。よろしくお願いします。
guest

回答1

0

500エラーの原因は本当に多岐に渡るので様々な角度から調べる必要があります。

  • .htaccessに記載ミスはないか
  • サーバーのログにエラーは出力されていないか(必須確認事項
  • どこまで処理が正常に行われているか(どこで落ちているか)

下記の質問にも色々と方法が提示されていますので、ご確認を。

投稿2018/04/20 04:52

編集2018/07/25 21:28
m.ts10806

総合スコア80850

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

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

over

2018/04/20 06:33

Internal Server Error はWebサーバソフトウェア(この質問ではapache)が出力するものでは?
m.ts10806

2018/04/20 10:16

回答のどの部分に対するご指摘か分からないですが、色々見ていく必要があると思い、書きだしました。 過不足ありましたら教えてください。
over

2018/04/20 10:28

apacheが出力しているので、以下の確認は必要ないと考えました。 > サーバー(Apache)は起動しているか
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問